这里说的主键设计主要是针对 " 引擎
0;能唯一的表示行。
=;显式的定义一个数值类型自增字段的主键,这个字段可以仅用于做主键,不做其他用途。
@;7H 主键应该是单列的,以便提高连接和筛选操作的效率。
B;主键字段类型尽可能小,能用 就不用 ,能用 就不用 "#。
C;尽量保证不对主键字段进行更新修改,防止主键字段发生变化,引发数据存储碎片,降
低 性能。
F;7H 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
G;7H 主键应当有计算机自动生成。
K;主键字段放在数据表的第一顺序。
推荐采用数值类型做主键并采用 +9 ,%, 属性让其自动增长。
索引的缺点:极大地加速了查询,减少扫描和锁定的数据行数。
索引的缺点:占用磁盘空间,减慢了数据更新速度,增加了磁盘 。
添加索引有如下原则:
0;选择唯一性索引。
=;为经常需要排序、分组和联合操作的字段建立索引。
@;为常作为查询条件的字段建立索引。
B;限制索引的数据,索引不是越多越好。
C;尽量使用数据量少的索引,对于大字段可以考虑前缀索引。
F;删除不再使用或者很少使用的索引。
G;结合核心 H 优先考虑覆盖索引。
K;忌用字符串做主键。
一些细节
0;当结果集只有一行数据时使用 0
=;避免 1,始终指定你需要的列
从表中读取越多的数据,查询会变得更慢。他增加了磁盘需要操作的时间,还是在数据库
服务器与 (" 服务器是独立分开的情况下。你将会经历非常漫长的网络延迟,仅仅是因为
数据不必要的在服务器之间传输。
@;使用连接(4)来代替子查询:H !
连接(4);;之所以更有效率一些,是因为 7H 不需要在内存中创建临时表来完成这
个逻辑上的需要两个步骤的查询工作。
B;使用 、)而不是 S),使用合理的字段属性长度
C;尽可能的使用
F;固定长度的表会更快
G;拆分大的 或 语句
K;查询的列越小越快
索引过度增加也会出现很多情况索引无效的。