摘要:
什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。假设我们创建了一个名为people的表:CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );然后, 阅读全文
posted @ 2012-02-18 13:13
bigfish__
阅读(207)
评论(0)
推荐(0)
摘要:
statement: 一个SQL语句。session: 一个由ORACLE用户产生的连接,一个用户可以产生多个SESSION ,但相互之间是独立的。transaction:所有的改变都可以划分到transaction里,一个transaction包含一个或多个SQL。当一个SESSION建立的时候就是一个TRANSACTION开始的时刻,此后transaction的开始和结束由DCL控制,也就是每个COMMIT/ROLLBACK都标示着一个transaction的结束。consistency:是对于statement级别而不是transaction级别来说的。sql statement 得到的 阅读全文
posted @ 2012-02-18 12:47
bigfish__
阅读(788)
评论(0)
推荐(0)
摘要:
因为之前用过oracle,知道利用select * for update 可以锁表。所以很自然就想到在mysql中能不能适应for update来锁表呢。学习参考如下由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键。 例1: (明确指定主键,并且有此笔资料,row lock) SELECT * FROM products WHERE id=&am 阅读全文
posted @ 2012-02-18 11:42
bigfish__
阅读(36929)
评论(0)
推荐(1)
摘要:
原文链接:http://www.phpiask.com/?p=304曾经偷偷的面试了两个单位,都提到了Mysql的优化问题,所以以后要多多学习数据库的优化知识了。建设数据库的优化大概主要就是索引的优化了吧,因为我们不可能修改数据结构的情况下,提高数据库的查询效率似乎也只能用索引了。当然这也是建立在你sql语句写的比较科学的情况下,如果你的sql语句本身就写的比较垃圾,神仙也救不了你!下边是在网上找到的一些资料,保留下来备用吧1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查 阅读全文
posted @ 2012-02-18 08:35
bigfish__
阅读(298)
评论(0)
推荐(1)
浙公网安备 33010602011771号