说道HOWTO,是每个人都曾问到想过的问题,对于我们从事IT工作的同志们来说,每天时时刻刻都会接触遇到很多新的技术,那么,我们又该如何对这东西做出反应,又如何快速有效的将其掌握呢。
【mysql】 【数据库】 【操作系统】 【数据库开发】 点击查看原文>
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/count_table_skill.html
对于InnoDB及其他一些不能很快统计行数的存储引擎,对于频繁的count(*)操作,就是一种噩梦了,它可能要遍历一遍索引或者数据行才能知道有多少行。
这种时候我们比较容易想到的方法就是设计一个计数表,每次增删记录,就更新这个表:
CREATE TABLE cnt_tbl (
tbl VARCHAR(20) NOT NULL PRIMARY KEY COMMENT '表名',
cnt INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '计数'
);
|
先为要计数的表初始化
INSERT INTO cnt_tbl(tbl, cnt) VALUES('A', 0);
| …
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/mysql_index_store_perfomance_effect.html
本文配图来自《高性能MySQL(第二版)》。
在数据库中,对性能影响最大的几个策略包括数据库的锁策略、缓存策略、索引策略、存储策略、执行计划优化策略。
索引策略决定数据库快速定位数据的效率,存储策略决定数据持久化的效率。
MySQL中两大主要存储引擎MyISAM和InnoDB采用了不同的索引和存储策略,本文将分析它们的异同和性能。
MySQL主要提供2种方式的索引:B-Tree(包括B+Tree)索引,Hash索引。
…
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/lock_granularity_deadlock_probability.html
首先,我们要定义下什么是“锁的粒度”:所谓粒度就是作用范围,锁的粒度就是锁的作用范围。数据库中锁的粒度从高到低依次划分为:数据库、表、页、行。
什么是死锁,顺带说一下吧,当多个操作竞争资源,每个操作都无法获得全部所需资源时,系统进入死锁,如无外力作用,系统将无限等待下去,死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) …
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/innodb_next_key_locking.html
感谢Fenng的提醒,已删除锁粒度和死锁的关系,专门撰文写了锁的粒度与死锁的关系。
…
[获取更多]