MySQL性能调优与架构设计读书笔记

可扩展性设计之数据切分

14.2 数据的垂直切分

如何切分,切分到什么样的程度,是一个比较考验人的难题。只能在实际的应用场景中通过平衡各方面的成本和利益,才能分析出一个真正适合自己的拆分方案。

14.3 数据的水平切分

线路表现在很大,有50、60G,添加一个索引非常不方便。考虑如何水平切分。

每次新增一条线路的时候,有多少个出发城市,就会生成几个线路记录。

索引太多,影响更新的速度。

一个表的索引数量一般不超过15个。这个再确定一下。

索引问题参考文档:

http://hejiajunsh.iteye.com/blog/1955331

http://blog.csdn.net/zzq900503/article/details/17094633

http://imfei.blog.51cto.com/1849649/511689/

http://www.cnblogs.com/anywei/archive/2011/12/12/mysql.html

同样一条记录,根据id查询和根据remark查询,哪个查询效率更高?

根据id(int类型)查询效率高于sign_num(varchar(50)类型)查询效率。

SELECT a.* FROM table a WHERE a.sign_num ='OSH140806816';耗时0.687s

SELECT a.* FROM table a WHERE a.id =3824946;耗时0.044s

估计int类型建立的索引二叉树节省空间,varchar(50)类型建立的索引二叉树空间比较大,查询耗时长。

原文地址:https://www.cnblogs.com/usual2013blog/p/3893829.html