这篇文章主要介绍“MySQL的使用技巧有哪些”,在日常操作中,相信很多人在MySQL的使用技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL的使用技巧有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
命名规范
1、库名、表名、字段名必须使用小写字母,并采用下划线分割。
a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。
在这里小编建了一个前端学习交流扣扣群:132667127,我自己整理的最新的前端资料和高级开发教程,如果有想需要的,可以加群一起学习交流
b)如果大小写混合使用,可能存在abc、Abc、ABC等多个表共存,容易导致混乱。
c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段。
d)为了统一规范, 库名、表名、字段名使用小写字母。
2、库名、表名、字段名禁止超过32个字符。
库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。
3、库名、表名、字段名禁止使用MySQL保留字。
当库名、表名、字段名等属性含有保留字时,SQL语句必须用反引号引用属性名称,这将使得SQL语句书写、SHELL脚本中变量的转义等变得⾮非常复杂。
使用技巧
1、将大字段、访问频率低的字段拆分到单独的表中存储,分离冷热数据。
有利于有效利用缓存,防⽌止读入无用的冷数据,较少磁盘IO,同时保证热数据常驻内存提⾼高缓存命中率。
2、表必须有主键,推荐使用UNSIGNED自增列作为主键。
表没有主键,INNODB会默认设置隐藏的主键列;没有主键的表在定位数据行的时候非常困难,也会降低基于行复制的效率。
3、禁止冗余索引和重复索引。
索引是双刃剑,会增加维护负担,增大IO压力。(a,b,c)、(a,b),后者为冗余索引可以利用前缀索引来达到加速目的,减轻维护负担。primary key a;uniq index a;重复索引增加维护负担、占用磁盘空间,同时没有任何益处。
4、合理使用覆盖索引减少IO,避免排序。
覆盖索引能从索引中获取需要的所有字段,从而避免回表进行二次查找,节省IO。
INNODB存储引擎中,secondary index(非主键索引,又称为辅助索引、二级索引)没有直接存储行地址,而是存储主键值。
如果用户需要查询secondary index中所不包含的数据列,则需先通过secondary index查找到主键值,然后再通过主键查询到其他数据列,因此需要查询两次。覆盖索引则可以在一个索引中获取所有需要的数据,因此效率较高。
例如SELECT email,uid FROM user_email WHERE uid=xx,如果uid不是主键,适当时候可以将索引添加为index(uid,email),以获得性能提升。
到此,关于“MySQL的使用技巧有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!