打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Mysql数据库的设计及语句优化


文章载入中...

前言


      对于初学者来说,养成代码规范的习惯尤为重要,同样在设计数据库表以及编写 SQL语句时,怎样优化SQL语句以及提高查询效率?这个值得每一位java初学者的注意。下面我就简单介绍一些常用的Mysql数据库的设计及语句优化规则。

数据库表设计规则

1、冗余设计;即设计数据库可以适当设计冗余字段。


2、设置删除状态字段;为了表面锁表,尽量用关键字update,少用delete。


3、字段上面尽量不要用null做默认值。


4、适当加入索引,过量索引会减慢插入数据的速度。


5、主键类型尽量采用tinyint;因为主键一般都是无符号的int,使用tinyint主键量可以达到int的两倍。

 

✎Mysql语句优化

1、使用select语句尽量多用字段,使用 * 效率更低。


2、  查询数量,尽量使用类似“count(1)”字样。


3、  查询一条语句,尽量在后面加上“limit1”(数据库查询到一条即停止)。


4、快速插入语句:                                                                                                                        例如:insertintouser(name) values(‘m’);                                                                    insert into user(name) values(‘n’);                                                          改为,insertintouser(name) values(‘m’), (‘n’);                  


SQL语句优化遵循原则

1、尽量避免在列上运算,这样会导致索引失效。


2、使用 JOIN 时,应该用小结果集驱动大结果集,同时把复杂的 JOIN 查询拆分成多个query,因为JOIN 多个表,可能导致更多的锁定和堵塞。


3、使用LIKE 时,避免使用 %%。


4、select 指定查询字段,不要全查出来,节省内存。


5、使用批量插入语句节省交互。


6、limit的基数比较大时,使用 between,between 限定比 limit 快,但是between也有缺陷,如果id中间有断行或是中间部分id不读取的情况,数据会少。

     例如:select * from t where 1 limit 100000,10 

     可改为:select * from twhere id between 100000 and100010


7、不要使用rand 函数取多条随机记录。


8、避免使用 NULL。


9、不要做无谓的排序操作,而应尽可能在索引中完成排序。                        

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
8种最坑的SQL错误用法,第一个就很坑?
如何优化MySQL千万级大表,我写了6000字的解读
赶集mysql军规
10.MySQL为什么有时候会选错索引undefined
聊聊sql优化的15个小技巧,太赞了
《MySql》
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服