mysql 创建高性能的索引

什么是索引 我们可以把索引当成书籍的目录,我们想要知道书的特定的内容就要查看目录,然后定位页码 mysql的存储引擎采用类似的方法进行数据查询,先去索引中找到对应的值,然后根据匹配的索引找到对应的数据行 索引的类型 索引有很多的类型,都是实现在存储引擎层的 普通索引,最基本的索引,没有任何约束限制 唯一索引,与普通索引类似,但是具有唯一性约束...
阅读全文

Mysql锁的使用及事务控制基本命令总结

lock table A read/write获得表 A 的 READ/WRITE 锁定unlock tables释放所有表锁事务控制MySQL 通过 SET AUTOCOMMIT、START TRANSACTION、COMMIT 和 ROLLBACK 等语句支持本地事务,具体语法如下。START TRANSACTION | BEGIN COMMIT ...
阅读全文

Mysql冷知识总结

1.CHAR与 VARCHAR最后一行的值只适用非“严格模式”时,如果MySQL 运行在严格模式,超过列长度的值将不会保存,并且会出现错误提示从 CHAR(4)和 VARCHAR(4)列检索的值并不总是相同,因为检索时从 CHAR 列删除了尾部的空格。下面通过一个例子说明该差别 对比:CHAR 是固定长度的,所以它的处理速度比 VARCHAR 快得多,但是...
阅读全文

Mysql索引失效场景

1.WHERE字句的查询条件里有不等于号(WHERE column!=…),MYSQL将无法使用索引2.类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=…),MYSQL将无法使用索引3.在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了索引也不会使用4.如果WHERE子...
阅读全文

MySql 创建索引原则

为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。本小节将向读者介绍一些索引的设计原则。 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。 2.为经常需要排序...
阅读全文

MySQL的四种事务隔离级别

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 ...
阅读全文

MySQL中MyISAM与InnoDB区别及选择

InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间里面跨平台可直接拷贝使用InnoDB中必须包含AUTO_INCREMENT类型字段的索引表格很难被压缩MyISAM:不支持事务,回滚将造成不完全...
阅读全文