![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
南方不败的博客
路漫漫其修远兮
展开
-
Mysql__索引
1)索引问题----组合索引 最左前缀匹配原则 在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配ALTER TABLE `index` ADD INDEX test_AA_BB_CC_DD (AA,BB,CC,DD);SHOW INDEX FROM `index`;EXPLAIN SELECT * F...原创 2019-03-04 21:47:26 · 287 阅读 · 0 评论 -
replace into
在向表中插入数据的时候,经常遇到这样的情况: 1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。这种情况就可以使用replace into语句来解决,就可以省去多次查表的逻辑了,但是需注意一下几点:① 插入的字段必须包含PRIMARY KEY或UNIQUE索引,否则不会生效② 如果主键为自增型,需考虑主键关联造成的影响replace in...原创 2019-08-31 11:59:32 · 277 阅读 · 0 评论 -
MYSQL 关于IS NULL 和 IS NOT NULL会不会走索引
一.索引列key 默认值为NULL 允许为空分析: IS NULL 使用了索引 , IS NOT NULL 没有走索引二.索引列key 默认值为'123' 允许为空分析: IS NULL 使用了索引 , IS NOT NULL 没有走索引三.索引列key 默认值为'123' 不允许为空分析: IS NULL ...原创 2019-08-07 16:50:15 · 8191 阅读 · 5 评论 -
MYSQL索引类型和索引方法
索引类型normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefulltext:表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。spatial:空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类...原创 2019-08-05 20:55:51 · 1093 阅读 · 0 评论 -
mysql @和@@
@ 用户变量:①用户变量与数据库连接有关,在这个连接中声明的变量,在连接断开的时候,就会消失。在此连接中声明的变量无法在另一连接中使用。②用户变量的变量名的形式为@varname的形式。名字必须以@开头。声明变量的时候需要使用set语句,比如下面的语句声明了一个名为@a的变量。set @a = 1;说明:声明一个名为@a的变量,并将它赋值为1,mysql里面的变量是不严格限制数据...原创 2019-08-05 17:00:53 · 3184 阅读 · 1 评论 -
MYSQL 特殊查询用法
查询一堆数据,把指定 id 的那条数据放到第一条,其余的按创建时间倒叙select id , title ,create_time from tb_purchase order by case when id = 9 then id end desc , case when id <> 9 then create_time end desc获得从一个日期开始以后...原创 2019-08-05 16:11:32 · 180 阅读 · 0 评论 -
联合索引
EXPLAINSELECT * from tb_withdraw_cash where cash=2 and tax_cash=3 and alipay='5445' and actual_cash=1 and user_id=33458联合索引不管顺序如何,只要最左边的字段存在,mysql的索引查询优化器会优化成数据库识别的顺序组合...原创 2019-07-15 19:24:15 · 86 阅读 · 0 评论 -
使用exists代替in
SELECT *FROM class_aWHERE id IN ( SELECT id FROM class_b);SELECT *FROM class_a AWHERE EXISTS ( SELECT * FROM class_b B WHERE A.id = B.id);分析上述两种方法查询结果一样,但exists 方式速度要快。...转载 2019-07-15 18:58:50 · 1566 阅读 · 0 评论 -
mysl优化技巧
1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。key_len列,索引长度。rows列,扫描行数。该值...原创 2019-03-24 21:38:07 · 160 阅读 · 0 评论 -
Mysql__字符集 储存引擎 各种锁
1)字符集 解决插入数据库中文乱码: ① 在连接数据库的url后面加上 ?useUnicode=true&allowMultiQueries=true&characterEncoding=utf8 (allowMultiQueries允许执行多条比如一个select标签中可以用分号执行多条sql语句) ② 数据库,表,字段的编码设置成ut...原创 2019-03-05 21:25:56 · 214 阅读 · 0 评论 -
mysql事务的详细说明
什么是事务?事务由一组操作构成,我们希望这组操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是同一个事务中的所有操作,要么全都正确执行,要么全都不要执行。事务的四大特性 ACID说到事务,就不得不提一下事务著名的四大特性。 原子性 原子性要求,事务是一个不可分割的执行单元,事务中的所有操作要么全都执行,要么全都不执行。 ...原创 2019-09-20 12:14:51 · 153 阅读 · 0 评论