写一手好SQL很有必要
- MySQL性能
- 最大数据量
- 最大并发数
- 查询耗时0.5秒
- 实施原则
- 数据表设计
- 数据类型
- 避免空值
- text类型
- 索引优化
- 索引分类
- 优化原则
- SQL优化
- 分批处理
- 不做列运算
- 避免Select *
- 操作符<>优化
- OR优化
- IN优化
- LIKE优化
- JOIN优化
- LIMIT优化
- 其他数据库
??博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。
Memcache
用于内容缓存,大量数据的高访问负载
键值型
Redis
用于内容缓存,比Memcache支持更多的数据类型,并能持久化数据
列式存储
HBase
Hadoop体系的核心数据库,海量结构化数据存储,大数据必备。
文档型
MongoDb
知名文档型数据库,也可以用于缓存
文档型
CouchDB
Apache的开源项目,专注于易用性,支持REST API
文档型
SequoiaDB
国内知名文档型数据库
图形
Neo4J
用于社交网络构建关系图谱,推荐系统等
参考(部分摘抄的文字版权属于原作者):
https://www.jianshu.com/p/6864abb4d885