二叉树:查询速度快,但是容易出现单分支情况。
红黑树(平衡二叉树):在二叉树的基础上,会对不平衡的二叉式进行一定的调整。
B树:对于千万级的数据树高仅为3(16K–2的14次幂)
B+数:在B数的基础上,添加了一些冗余,但是范围查看速度快
Hash:查找速度最快,但是范围查找速度慢
MySql数据库进行优化-- 个人总结(InnoDB)
- 数据类型尽量用数字型,数字型的比较比字符型的快很多。
- 数据类型尽量小,比如存储手机号可以固定11位。
- 尽量不用TEXT 和 IMAGE,存储文件的话可以直接通过nginx动静分离的方式来进行访问。
- 根据数据量决定哪些表需要增加索引,数据量小的可以只有主键
- 根据使用频率决定哪些字段需要建立索引
- 一个表不要加太多索引,因为索引影响插入和更新的速度
- 索引尽量自增。(B+数原理,影响插入速度)
- 不要写 SELECT * 的语句
- 不要写没有 WHERe 的 SQL 语句