Monty说MySQL的优化(七)

小伙流浪到丽江

小伙流浪到丽江

2016-02-19 18:02

今天图老师小编给大家展示的是Monty说MySQL的优化(七),精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

  三十一、事务的例子

  MyIASM表如何进行事务处理:

  mysql LOCK TABLES trans READ, customer WRITE;

  mysql select sum(value) from trans where customer_id=some_id;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  mysql update customer set total_value=sum_from_previous_statement

  where customer_id=some_id;

  mysql UNLOCK TABLES;

  BDB表如何进行事务:

  mysql BEGIN WORK;

  mysql select sum(value) from trans where customer_id=some_id;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  mysql update customer set total_value=sum_from_previous_statement

  where customer_id=some_id;

  mysql COMMIT;

  注意你可以通过下列语句回避事务:

  UPDATE customer SET value=value+new_value WHERE customer_id=some_id;

  三十二、使用REPLACE的例子

  REPLACE的功能极像INSERT,除了如果一条老记录在一个唯一索引上具有与新纪录相同的值,那么老记录在新纪录插入前则被删除。不使用 SELECT 1 FROM t1 WHERE key=#

  IF found-row

  LOCK TABLES t1

  DELETE FROM t1 WHERE key1=#

  INSERT INTO t1 VALUES (...)

  UNLOCK TABLES t1;

  ENDIF

  而用

  REPLACE INTO t1 VALUES (...)

  三十三、一般技巧

  使用短主键。联结表时使用数字而非字符串。

  当使用多部分键码时,第一部分应该时最常用的部分。

  有疑问时,首先使用更多重复的列以获得更好地键码压缩。

  如果在同一台机器上运行MySQL客户和服务器,那么在连接MySQL时则使用套接字而不是TCP/IP(这可以提高性能7.5%)。可在连接MySQL服务器时不指定主机名或主机名为localhost来做到。

  如果可能,使用--skip-locking(在某些OS上为默认),这将关闭外部锁定并将提高性能。

  使用应用层哈希值而非长键码:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  SELECT * FROM table_name WHERE hash=MD5(concat(col1,col2)) AND

  col_1='constant' AND col_2='constant'

  在文件中保存需要以文件形式访问的BLOB,在数据库中只保存文件名。

  删除所有行比删除一大部分行要快。

  如果SQL不够快,研究一下访问数据的较底层接口。

  三十四、使用MySQL 3.23的好处

  MyISAM:可移植的大表格式

  HEAP:内存中的表

  Berkeley DB:支持事务的表。

  众多提高的限制

  动态字符集

  更多的STATUS变量

  CHECK和REPAIR表

  更快的GROUP BY和DISTINCT

  LEFT JOIN ... IF NULL的优化

  CREATE TABLE ... SELECT

  CREATE TEMPORARY table_name (...)

  临时HEAP表到MyISAM表的自动转换

  复制

  mysqlhotcopy脚本

  三十五、正在积极开发的重要功能

  改进事务处理

  失败安全的复制

  正文搜索

  多个表的删除(之后完成多个表的更新)

  更好的键码缓存

  原子RENAME (RENAME TABLE foo as foo_old, foo_new as foo)

  查询高速缓存

  MERGE TABLES

  一个更好的GUI客户程序

展开更多 50%)
分享

猜你喜欢

Monty说MySQL的优化(七)

编程语言 网络编程
Monty说MySQL的优化(七)

Monty说MySQL的优化(三)

编程语言 网络编程
Monty说MySQL的优化(三)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Monty说MySQL的优化(二)

编程语言 网络编程
Monty说MySQL的优化(二)

Monty说MySQL的优化(六)

编程语言 网络编程
Monty说MySQL的优化(六)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Monty说MySQL的优化(五)

编程语言 网络编程
Monty说MySQL的优化(五)

Monty说MySQL的优化(一)

编程语言 网络编程
Monty说MySQL的优化(一)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10系统更新驱动后设备异常怎么办

Win10系统更新驱动后设备异常怎么办

wps安装后文件的默认打开方式还是office解决方法

wps安装后文件的默认打开方式还是office解决方法
下拉加载更多内容 ↓