MySQL数据库使用时注意事项

MySQL数据库使用时注意事项

建表的角度上

1、合理安排表关系
2、尽量把固定长度的字段放在前面
3、尽量使用char  代替varchar
4、分表:水平分和垂直分

在使用sql语句的时候

1、尽量用where来约束范围到一个比较小范围的程度,比如分页
2、尽量使用连表查询,而不是使用子查询
3、删除数据或者修改数据的时候尽量使用主键作为条件
4、合理创建和时候用索引

合理创建和时候用索引

正确使用索引
1、查询的条件字段不是索引字段,对哪一个字段创建了索引就对哪一个字段做条件查询
2、在创建索引的时候应该对区分度比较大的列进行创建
   1/10以下的重复率比较适合创建索引
3、范围
   范围越大越慢
   范围越小越快
   !=like 'a%'like '%a'4、条件列参与计算/使用函数
5andor
   多个条件的组合,如果使用and连接,其中一列含有索引,都可以加快查找速度
   如果使用or连接,必须所有的列都含有索引,才能加快查询速度

6、联合索引 (最左前缀原则)必须带这最左边的列作为条件,从出现范围开始整条索引失效
(id,name,email)
            select * from s1 where id = 1800000 and name = 'eva' and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000 and name = 'eva';
            select * from s1 where id = 1800000 and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000;
            select * from s1 where name = 'eva' and email = 'eva1800000@oldboy';
            (email,id,name)
            select * from s1 where id >10000 and email = 'eva1800000@oldboy';


7、条件中写出来的数据类型必须和定义的数据类型一致
   select * from biao where name = 666   # 不一致
8select的字段应该包含order by的字段
   select name,age fromorder by age  比较好
   select name fromorder by age  不好
posted @   爱文飞翔  阅读(1266)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示