MySQL优化

MySQL优化

MySQL 优化(七)

7.4.5 MySQL如何使用索引

索引用于快速找到特定一些值的记录。如果没有索引,MySQL就必须从第一行记录开始读取整个表来检索记录。表越大,资源消耗越大。如果在字段上有索引的话,MySQL就能很快决定该从数据文件的哪个位置开始搜索记录,而无须查找所有的数据。如果表中有1000条记录的话,那么这至少比顺序地读取数据快100倍。注意,如果需要存取几乎全部1000条记录的话,那么顺序读取就更快了,因为这样会使磁盘搜索最少。

MySQL 优化(五)

7.3 锁

7.3.1 锁机制

当前MySQL已经支持 ISAM, MyISAM, MEMORY (HEAP) 类型表的表级锁了,BDB 表支持页级锁,InnoDB 表支持行级锁。
很多时候,可以通过经验来猜测什么样的锁对应用程序更合适,不过通常很难说一个锁比别的更好,这全都要依据应用程序来决定,不同的地方可能需要不同的锁。

MySQL 优化(三)

7.2.2 估算查询性能

在大多数情况下,可以通过统计磁盘搜索次数来估算查询的性能。对小表来说,通常情况下只需要搜索一次磁盘就能找到对应的记录(因为索引可能已经缓存起来了)。对大表来说,大致可以这么估算,它使用B树做索引,想要找到一条记录大概需要搜索的次数为:log(row_count) / log(index_block_length / 3 * 2 / (index_length + data_pointer_length)) + 1

MySQL 优化(一)

7 MySQL 优化

数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行。

本章主要讲解了几种优化MySQL的方法,并且给出了例子。记着,总有各种办法能让系统运行的更快,当然了,这需要更多的努力。

MySQL的优化

(本文是Monty在O'Reilly Open Source Convention 2000大会上的演讲)

MySQL的优化
(本文是Monty在O'Reilly Open Source Convention 2000大会上的演讲)

[晏子 编译整理]

一、我们可以且应该优化什么?

硬件

操作系统/软件库

SQL服务器(设置和查询)

应用编程接口(API)

应用程序

--------------------------------------------------------------------------------

二、优化硬件

如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构,像Alpha、Sparc或即将推出的IA64。因为MySQL内部使用大量64位的整数,64位的CPU将提供更好的性能。

对大数据库,优化的次序一般是RAM、快速硬盘、CPU能力。

页面

Subscribe to RSS - MySQL优化