【MySQL】MySQL SQL查询语法建议

在这里插入图片描述

1.概述

主要是一些MySQL操作的优化,以及建议

2.建表语句

  1. 数据库要满足基本范式;
  2. 选择合适的数据类型:尽量定长;
  3. 不要使用无法加索引的类型作为关键字段,比如text类型;
  4. 为了避免联表查询,有时候可以适当的数据冗余,比如邮箱、姓名这些不容易更改的数据;
  5. 选择合适的表引擎,有时候合MySAM适和,有时InnoDB适合;
  6. 最好每个表都建立有auto_increment字段,建立合适的数据库索引以保证查询性能;
  7. 最好给每个字段设定default值。

3.SQL 查询

  1. 操作符号: NOT IN操作符此操作是强列推荐不使用的,因为它不能应用表的索引。
    推荐方案:用NOT EXISTS 或(外连接+判断为空)方案代替 "IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", "LIKE '%500'",因为他们不走索引全是表扫描。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS、IN、LEFT OUTER JOIN来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作。 如果列的值含有空,以前它的索引不

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/107445269