概述
日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
- mysql 安装、sql语法
- 一条sql语句完成MySQL去重留一
- mysql 事务、索引、锁、分区/分表、sql优化、查询优化
- mysql 安装配置使用、sql语法
- MySQL主键、创建索引、UNION 和 UNION ALL
主键
索引
ALTER TABLE 表名 ADD INDEX 索引名称 (一个或多个字段名(字段的长度size))
短索引(可以设置字段的长度size):ALTER TABLE 表名 ADD INDEX 索引名称 (一个或多个字段名(字段的长度size))
MySQL数据库的使用索引来搜索
1.MySQL数据库中的索引:
UNIQUE(唯一索引)
PRIMARY KEY(主键索引),本质是名叫PRIMARY KEY 的UNIQUE索引
INDEX(普通索引)
INDEX(组合索引)
FULLTEXT(全文索引),搜索引擎常用
2.MySQL数据库的模糊查询速度慢,效率不高。
模糊查询的用法分析:
1.模糊查询的用法:字段名 like “%搜索内容%”
2.对“已添加索引的字段”进行模糊查询的话,分以下情况:
1.使用 字段名 like “%搜索内容%”或 字段名 like “%搜索内容”的话,即模糊查询LIKE中以“%”或“_”开头的话,
是无法使用到索引进行快速查询的。
2.使用 字段名 like “搜索内容%”,是可以使用到索引进行快速查询的。
3.即使字段添加了索引,但是在SQL语句中使用了以下规则进行WHERE条件过滤的话,便不会使用上“字段中添加的索引”进行快速查询:
1.NULL值判断:因为使用NULL值判断的话,则不会使用字段中的索引。
所以字段的默认值应改为使用 0 或 -1 或 空字符串,字段的默认值不应为NULL值。
2.使用 != 或 <> 操作符:!= 和 <> 都表示不等于操作,则不会使用字段中的索引。应改为尽量使用 >、<、= 才会使用上字段中的索引。
3.模糊查询LIKE中以“%”或“_”开头:是不会使用字段中的索引的。但如果以“%”或“_”结尾的话,还是可以使用到索引的。
可改为使用FULLTEXT(全文索引),搜索引擎常用。
4.在where子句中使用 or 来连接条件:应使用UNION 或 UNION ALL
5.in 和 not in:尽量控制in的范围(1000以内)
6.在where子句中对字段进行表达式操作:在列上进行运算的话,则不会使用字段中的索引
在where子句中使用 or 来连接条件:应使用UNION 或 UNION ALL
SQL UNION 和 UNION ALL 操作符
1.UNION:
1.合并两个或多个 SELECT 语句的结果集
2.会对合并后的结果集进行去重
2.UNION ALL:
1.合并两个或多个 SELECT 语句的结果集
2.不会对合并后的结果集进行去重
最后
以上就是故意凉面为你收集整理的MySQL主键、创建索引、UNION 和 UNION ALL日萌社的全部内容,希望文章能够帮你解决MySQL主键、创建索引、UNION 和 UNION ALL日萌社所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复