微信扫一扫打赏支持

mysql使用技巧---1、mysql常用使用规范(一)(总结)

mysql使用技巧---1、mysql常用使用规范(一)(总结)

一、总结

一句话总结:

 

1、尽可能把所有列定义为【NOT NULL】?

索引 NULL 列需要【额外的空间】来保存,所以要占用更多的空间。
进行【比较和计算】时要对 NULL 值【做特别的处理】。

 

2、经常会有人用字符串存储日期型的数据(不正确的做法)?

缺点 1:【无法】用日期函数进行【计算和比较】。
缺点 2:用字符串存储日期要【占用更多的空间】。

 

3、同财务相关的金额类数据必须使用 decimal 类型?

【非精准浮点】:【float,double】
【精准浮点】:【decimal】;Decimal 类型为精准浮点数,在计算时不会丢失精度。占用空间由定义的宽度决定,每 4 个字节可以存储 9 位数字,并且小数点要占用一个字节。可用于存储比 bigint 更大的整型数据。

 

4、常见索引列建议?

出现在 SELECT、UPDATE、DELETE 语句的 【WHERE 从句中的列】。
包含在 【ORDER BY、GROUP BY、DISTINCT】 中的字段。
并不要将符合 1 和 2 中的字段的列都建立一个索引,通常将 1、2 中的字段建立【联合索引】效果更好。
多表 JOIN 的【关联列】。

 

5、限制每张表上的索引数量,建议单张表索引【不超过5个】?

索引并不是越多越好!索引可以提高效率同样也可以【降低效率】;索引可以【增加查询效率】,但同样也会【降低插入和更新的效率】,甚至有些情况下会【降低查询效率】。
因为 MySQL 优化器在选择如何优化查询时,会根据统一信息,对每一个可以用到的索引来进行评估,以生成出一个最好的执行计划,【如果同时有很多个索引都可以用于查询,就会增加 MySQL 优化器生成执行计划的时间】,同样会降低查询性能。

 

 

二、mysql常用使用规范

 

参考:https://mp.weixin.qq.com/s?__biz=MzU1NTEzMDAxNQ==&mid=2247484782&idx=1&sn=774d69a0da95fdc64b4d1206aa30da51&chksm=fbd8489eccafc1884f82eb832669248d8ec215a4808c68d6e9baf2957a519cdff39d4c92c3d1&scene=178&cur_album_id=1344571167549751296#rd

 
posted @ 2021-02-07 18:40  范仁义  阅读(76)  评论(0编辑  收藏  举报