zoukankan      html  css  js  c++  java
  • MySQL数据库使用时注意事项

    MySQL数据库使用时注意事项

    建表的角度上

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

    在使用sql语句的时候

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

    合理创建和时候用索引

    正确使用索引
    1、查询的条件字段不是索引字段,对哪一个字段创建了索引就对哪一个字段做条件查询
    2、在创建索引的时候应该对区分度比较大的列进行创建
       1/10以下的重复率比较适合创建索引
    3、范围
       范围越大越慢
       范围越小越快
       != 慢
       like 'a%' 快
       like '%a' 慢
    4、条件列参与计算/使用函数
    5、and 和 or
       多个条件的组合,如果使用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   # 不一致
    8、select的字段应该包含order by的字段
       select name,age from 表 order by age  比较好
       select name from 表 order by age  不好
    
  • 相关阅读:
    const 深悟理解
    深拷贝与浅拷贝深究
    结队开发-最大子数组
    软件工程个人作业02
    四则运算关于加括号的思路
    实践出真知-所谓"java没有指针",那叫做引用!
    写代码的好习惯—先构思
    团队合作
    阿超超的四则运算 想啊想啊
    Github+阿超运算
  • 原文地址:https://www.cnblogs.com/an-wen/p/11093634.html
Copyright © 2011-2022 走看看