SQL
家中老九
这个作者很懒,什么都没留下…
展开
-
面试问题之Mysql like索引失效
like 索引使用大家Mysql索引有最左原则,所以通过 like '%XX%'查询的时候会造成索引失效,一般采用like 'XX%'右边匹配的方式来索引。但是这样一定会使用索引不like 使用创建SQLCREATE TABLE `user` ( `ID_` bigint(20) NOT NULL AUTO_INCREMENT, `AGE_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, PRIMARY KEY (`原创 2020-06-20 17:02:55 · 4020 阅读 · 0 评论 -
面试问题之Mysql InnoDB引擎 行锁变表锁
锁机制Mysql锁分为表锁和行锁,表锁虽然开销小,锁表快,但高并发下性能低。行锁虽然开销大,锁表慢,但是并发性能高。InnoDB采用的行锁,支持事务;MyISAM采用表锁不支持事务InnoDB行锁会变表锁吗?案例分析:创建表结构CREATE TABLE `user` ( `ID_` bigint(20) NOT NULL AUTO_INCREMENT, `AGE_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, P原创 2020-06-20 16:44:36 · 1038 阅读 · 0 评论 -
Mysql Innodb事务管理
事务的基本要素(ACID)原子性(Atomicity):事务开始后的所有操作,要么全部做完,要么全部不做。事务执行过程中出错,会回滚到事务开始前的状态一致性(Consistency):数据开始前和结束后,数据库的完整性约束没有被破坏。比如:A向B转账,不可能A扣了钱,B却没收到隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。事务的并发问题脏读A事原创 2020-06-16 14:14:00 · 279 阅读 · 0 评论 -
Mysql 索引的创建和注意事项
索引创建索引的创建遵循一个原则,列的离散型越高,选择性就越好主键索引(聚集索引) MySql中默认主键就是聚集索引,如果不指定主键的话,Mysql内部会创建一个隐藏的聚集索引。ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )唯一索引 唯一索引要求该字段的值是唯一的ALTER TABLE `table_name` ADD UNIQUE ( `column` )普通索引ALTER TABLE `table_name` ADD原创 2020-06-16 14:06:54 · 237 阅读 · 0 评论 -
Mysql为什么选择B+Tree索引
索引是什么索引是加快数据检索,而创建的一种分散存储的数据结构索引的选择上面提到索引是一种数据结构,常用的数据结构包括数组、哈希表、树(树又包含了二叉树查找树、红黑树、B Tree、B+Tree)等。为什么Mysql索引使用了B+Tree这种数据结构,而不是其他的呢Mysql主要操作就是CURD,下面从这几种操作的时间复杂度来判断数据结构新增删除查询数组O(N)O(N)O(N)有序数组O(N)O(N)O(logN)哈希表O(1)O(1)O(1)原创 2020-06-16 13:19:37 · 512 阅读 · 0 评论