随笔分类 -  SQL

摘要:关于事务的介绍暂且不谈。 InnoDB行级锁,虽然在很大程度上提高了事务的并发性,但是终究还是要耗费很大的。为了更进一步的提高并发性同时降低开销,存储引擎会同时实现MVCC。 InnoDB实现MVCC的方法是,它存储了每一行的两个额外的隐藏字段,这两个隐藏字段分别记录了行的创建的时间(暂称 c_ve 阅读全文
posted @ 2016-05-03 17:34 平林新袖 阅读(641) 评论(3) 推荐(0)
摘要:MySQL索引原理 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果 阅读全文
posted @ 2016-05-03 12:04 平林新袖 阅读(242) 评论(0) 推荐(0)
摘要:比较细致的讲解MySQL数据库的数据结构以及实现原理 MySQL索引背后的数据结构及算法原理 MySQL的InnoDB索引原理详解 MySQL索引原理及慢查询优化 持续更新,快乐学习。 阅读全文
posted @ 2016-04-29 12:09 平林新袖 阅读(146) 评论(0) 推荐(0)
摘要:ACID特性 1.原子性atomicuty 即是事务在提交的过程中,要么全部提交,要么全部不提交,成功提交之后,持久化更新;提交失败,本次事务全部回滚。【非0即1】这是保证数据一致性的关键 2.一致性consistency 在事务提交之后,数据处于一致性的状态。 3.隔离性isolation 每一个 阅读全文
posted @ 2016-04-21 14:09 平林新袖 阅读(828) 评论(0) 推荐(0)
摘要:【转】http://www.jb51.net/article/29693.htm 在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。 不过这个定义太抽象了。在SQL 阅读全文
posted @ 2016-03-04 11:46 平林新袖 阅读(2939) 评论(0) 推荐(0)
摘要:在创建表的时候,添加主键CREATE TABLE table_name(column_1 char(10) PRIMARY KEY,column_2 char(10) )如果已经创建了表,如何添加主键??ALTER TABLE CLFADD CONSTRAINT PK_CLF_001 PRIMARY KEY (WM)在创建表的时候,添加外键CREATE TABLE table_1(column_1 char(10) PRIMARY KEY,column_2 char(10) ,FOREIGN KEY column_2 REFEREDCES table_2(column))FOREIGN KEY 阅读全文
posted @ 2014-04-08 22:45 平林新袖 阅读(366) 评论(0) 推荐(0)
摘要:在有些时候,我们在创建表的时候,会忘掉设置某一个列的属性,比如忘了设置为非空,但是默认情况下系统会自动的设置为NULL。这样我们该怎样通过语句设置呢??例如有一个表,其中的一个属性为WM CHAR(10) NULL如何将NULL修改为NOT NULL?ALTER TABLE table_name ALTER COLUMN column_name column_type NOT NULL;ALTER TABLE CLFALTER COLUMN WM CHAR(10) NOT NULL 阅读全文
posted @ 2014-04-08 22:27 平林新袖 阅读(2506) 评论(0) 推荐(1)