当前位置: 首页 / 技术干货 / 正文
好程序员Web前端教程入门之MySQL命名规范及使用技巧

2020-02-22

好程序员 web前端教程

  好程序员web前端教程入门之MySQL命名规范及使用技巧,不懂MySQL的前端不是一个好前端,作为Web应用方面最好的关系数据库管理系统应用软件之一,MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。接下来的好程序员web前端教程就给大家简单分享MySQL命名规范及使用技巧。

  命名规范

  1、库名、表名、字段名必须使用小写字母,并采用下划线分割。

  a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。

  b)如果大小写混合使用,可能存在abcAbcABC等多个表共存,容易导致混乱。

  c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段。

  d)为了统一规范, 库名、表名、字段名使用小写字母。

  2、库名、表名、字段名禁止超过32个字符。 

  库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。

  3、库名、表名、字段名禁止使用MySQL保留字。

  当库名、表名、字段名等属性含有保留字时,SQL语句必须用反引号引用属性名称,这将使得SQL语句书写、SHELL脚本中变量的转义等变得⾮非常复杂。

MySQL

  使用技巧

  1、将大字段、访问频率低的字段拆分到单独的表中存储,分离冷热数据。

  有利于有效利用缓存,防⽌止读入无用的冷数据,较少磁盘IO,同时保证热数据常驻内存提⾼高缓存命中率。

  2、表必须有主键,推荐使用UNSIGNED自增列作为主键。

  表没有主键,INNODB会默认设置隐藏的主键列;没有主键的表在定位数据行的时候非常困难,也会降低基于行复制的效率。

  3、禁止冗余索引和重复索引。

  索引是双刃剑,会增加维护负担,增大IO压力。(a,b,c)(a,b),后者为冗余索引可以利用前缀索引来达到加速目的,减轻维护负担。primary key auniq index a;重复索引增加维护负担、占用磁盘空间,同时没有任何益处。

  4、合理使用覆盖索引减少IO,避免排序。

  覆盖索引能从索引中获取需要的所有字段,从而避免回表进行二次查找,节省IO

  INNODB存储引擎中,secondary index(非主键索引,又称为辅助索引、二级索引)没有直接存储行地址,而是存储主键值。

  如果用户需要查询secondary index中所不包含的数据列,则需先通过secondary index查找到主键值,然后再通过主键查询到其他数据列,因此需要查询两次。覆盖索引则可以在一个索引中获取所有需要的数据,因此效率较高。

  例如SELECT emailuid FROM user_email WHERE uid=xx,如果uid不是主键,适当时候可以将索引添加为index(uidemail),以获得性能提升。

  想了解更多MySQL使用技巧,你可以关注“好程序员”微信公众号,定期发布技术热点和就业趋势分析。你也可以来好程序员Web前端培训班免费试听两周,亲身体验教学效果,感受讲师的教学水平,让自己快速入行前端拿高薪,更为大家准备大量web前端教程供大家学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号