InnoDB最佳实现
来源:互联网 发布:淘宝图片轮播什么意识 编辑:程序博客网 时间:2024/06/16 14:42
InnoDB最佳实现
- 用查询最频繁的一个或多个列作为主键,如果没有明显的主键,可以用自增列作为主键。
从多个表中取数据时,如表与表之间的关联基于恒等的值,使用join。使用外键有几个可以带来较快查询性能的技巧:
- 为关联列创建外键,并声明成相同的数据类型。
- 为关联列创建索引。
外键会把删除修改操作扩散到相关联的表中,如果子表中不存在关联的id,写操作会被阻止。
- 关闭自动提交。
- 使用
START TRANSACTION
,COMMIT
将大量的DML
(INSERT
,UPDATE
,DELETE
)语句分散到不同的事务中。即便是不想太频繁地提交事务,也不能一次提交一个一次跑几个小时的事务。 - 不使用锁表语句。在不牺牲可能性和高性能的前提下,InnoDB可以对同一张表同时处理多个对话的所有读写请求。通过
SELECT ... FOR UPDATE
语句来锁住想要修改的行,这样可以获取写操作独占的行。 - 激活
innodb_file_per_talbe
选项,将数据和索引放在表对应单独的文件中,而不是把所有表的数据、索引放在一个巨大的系统空间。innodb_file_per_talbe
选项从5.6.6版本开始使用。 - 创建表示使用压缩(CREATE TABLE (…) ROW_FORMAT=COMPRESSED)。压缩不会牺牲读写性能。
- 当创建表无法指定引擎时,我们可以在启动server时指定选项
--sql_mode=NO_ENGINE_SUBSTITUTION
来防止表被创建成使用其他类型的引擎的表。
0 0
- InnoDB最佳实现
- 14.1.2 InnoDB表最佳实践:
- MySql官方建议:Innodb表最佳实践
- InnoDB 死锁检测实现
- InnoDB索引实现
- innodb事务的实现
- innodb存储引擎实现
- innodb mvcc实现机制
- 【转】MySql官方建议:Innodb表最佳实践
- innodb 行锁实现算法
- InnoDB行锁实现方式
- MySQL innodb 事务的实现
- InnoDB中MVCC的实现
- InnoDB MVCC实现、Undo作用
- MySQL InnoDB MVCC实现原理
- MySQL InnoDB MVCC实现原理
- MySQL innodb 事务的实现
- Innodb MVCC的实现分析
- leetcode-5. Longest Palindromic Substring
- Java源码视频
- JAVA注释应用小例子
- android 开发笔记 图片轮播
- PCL可视化例程
- InnoDB最佳实现
- 树莓派学习笔记——webiopi装配与入门
- Codeforces Round #379 (Div. 2) Anton and Chess
- Jenkins简介
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- 经典的机器学习方面源代码库
- Lru算法在Android中的应用
- ListView最基本的使用方法BaseAdapter(三)
- 程序如何使用cmake链接至libcaffe.so库文件