众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。首先,看下建表DDL,这是一个没有显式自增主键的InnoDB表:[yejr@imysql]...
分类:
数据库 时间:
2015-07-30 11:13:29
阅读次数:
179
InnoDBMyIsam事务 支持不支持锁行锁表锁索引B+树,数据和索引在一个文件中,必须有主键,如果不指定,会自动生成一个隐藏字段作为主键B+树,数据和索引在不同文件中全文索引不支持支持使用场景大量INSERT或UPDATE大量SELECT的查询
分类:
数据库 时间:
2015-07-29 22:55:38
阅读次数:
184
尽量使用性能高的比如left join等,尽量减少数据查询的column,尽量不要查询冗余数据,like的话“%%”是没有 办法使用索引的,但是“%”是可以使用索引的mysql数据库的引擎有8种,一般常用的有3中,innodb,这种是事务性的,所以一些安全性的sql,使用它,这样可保证数据的一致性m...
分类:
数据库 时间:
2015-07-29 18:48:06
阅读次数:
159
zz fromhttp://imysql.com/2015/03/25/mysql-faq-how-to-fetch-latest-trxid.shtml#先查询 INNODB_TRX 表,看看都有哪些事务mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_...
分类:
数据库 时间:
2015-07-29 13:33:04
阅读次数:
494
关于innodb_flush_log_at_trx_commit的描述,看了mysql手册中的解释,感觉都不够清晰明了,下面试图以最简单直白的方式解释一下innodb_flush_log_at_trx_commit的含义。首先需要大致了解一下mysql日志操作步骤:log_buff---mysql写...
分类:
数据库 时间:
2015-07-29 11:43:29
阅读次数:
129
Mysql的优化方面,一般我们很少去考虑它,即使想到优化一般也更多是程序级别的,比如不要写过于消耗资源的SQL语句,但是除此以外,在整个系统上其实仍然有很多可以优化的地方。1. 选择合适的存储引擎: InnoDB除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了...
分类:
数据库 时间:
2015-07-28 18:14:33
阅读次数:
220
一、mysqldump工具备份 mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具。支持基于InnoDB的热备份。但由于是逻辑备份,所以速度不是很快,适合备份数据量比较小的场景。 mysqldump完全备份+二进制日志 —>实现时间点恢复 温备: 在使用My...
分类:
数据库 时间:
2015-07-28 12:33:22
阅读次数:
339
一、postgresql多进程,mysql多线程二、postgresql和它配套的开源软件非常多,容易进行负载均衡三、posgresql代码简介,mysql比较混乱四、最重要的,postgresql是BSD协议,完全免费,完全开源;mysql的innodb存储引擎是有oracle控制的[1]http...
分类:
数据库 时间:
2015-07-28 00:33:28
阅读次数:
198
一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT...
分类:
其他好文 时间:
2015-07-27 14:43:13
阅读次数:
84
innodb buffer pool 刷新快慢取决于两个参数mysql> show variables like 'innodb_io_capacity%';+------------------------+-------+| Variable_name | Value |+--...
分类:
数据库 时间:
2015-07-27 12:41:10
阅读次数:
161