- 浏览: 1541413 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
作者:IT168 周卫丰 2007-08-08
【IT168 开源数据库】我们在前面已经简单介绍了一些MYSQL数据库的基本操作,这一章我们将针对MYSQL数据库管理员详细介绍下MYSQL数据库的优化问题。
1 优化MySQL服务器
1.1 MYSQL服务器系统变量
我们在前面的章节中曾经讲到过MYSQL服务器的一些基本管理,这里我们再对MYSQL服务器的服务器变量和状态变量做个简单介绍。
查询MYSQL服务器系统变量:
通过mysqladmin命令来查询MYSQL服务器系统变量:
Init.txt部分内容:
获得MYSQL实际使用的服务器系统变量:
利用like参数来显示具体的服务器系统变量:
调整MYSQL服务器的系统变量
mysqld服务器维护两种变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。
方法一:
方法二:
mysqld服务器还为每个客户端连接维护会话变量。连接时使用相应全局变量的当前值对客户端会话变量进行初始化。客户可以通过SET [SESSION] var_name语句来更改动态会话变量。设置会话变量不需要特殊权限,但客户可以只更改自己的会话变量,而不更改其它客户的会话变量。
注意,当使用启动选项设置变量时,变量值可以使用后缀K、M或G分别表示千字节、兆字节或gigabytes。例如,下面的命令启动服务器时的键值缓冲区大小为16 megabytes:
后缀的大小写美关系;16M和16m是同样的。
运行时,使用SET语句来设置系统变量。此时,不能使用后缀,但值可以采取下列表达式:
1 优化MySQL服务器
1.1 MYSQL服务器系统变量
我们在前面的章节中曾经讲到过MYSQL服务器的一些基本管理,这里我们再对MYSQL服务器的服务器变量和状态变量做个简单介绍。
查询MYSQL服务器系统变量:
C:\Program Files\MySQL\MySQL Server 5.0\bin> mysqld --verbose –help
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -uroot -p variables > d:\init.txt Enter password: ******
+---------------------------------+----------------------------------------------------------------+ | Variable_name | Value | +---------------------------------+----------------------------------------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | automatic_sp_privileges | ON | | back_log | 50 ………… | version_compile_machine | ia32 | | version_compile_os | Win32 | | wait_timeout | 28800 | +---------------------------------+----------------------------------------------------------------+
获得MYSQL实际使用的服务器系统变量:
mysql> show variables;
mysql> show variables like 'init_connect%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | init_connect | | +---------------+-------+ 1 row in set (0.00 sec)
mysqld服务器维护两种变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。
方法一:
mysql> SHOW VARIABLES LIKE 'query_cache_size'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | query_cache_size | 23068672 | +------------------+----------+ 1 row in set (0.01 sec) mysql> SET GLOBAL query_cache_size = 31457280; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE 'query_cache_size'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | query_cache_size | 31457280 | +------------------+----------+ 1 row in set (0.00 sec)
mysql> show variables like 'query_cache_size%'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | query_cache_size | 31457280 | +------------------+----------+ 1 row in set (0.00 sec) mysql> SET @@global.query_cache_size = 20971520; Query OK, 0 rows affected (0.09 sec) mysql> show variables like 'query_cache_size%'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | query_cache_size | 20971520 | +------------------+----------+ 1 row in set (0.00 sec) mysql> select @@query_cache_size; +--------------------+ | @@query_cache_size | +--------------------+ | 20971520 | +--------------------+ 1 row in set (0.06 sec)
mysql> SET sort_buffer_size = 10 * 1024 * 1024; Query OK, 0 rows affected (0.08 sec) mysql> show variables like 'sort_buffer%'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | sort_buffer_size | 10485760 | +------------------+----------+ 1 row in set (0.00 sec)
C:\ProgramFiles\MySQL\MySQL Server 5.0\bin>mysqld--key_buffer_size=16M
运行时,使用SET语句来设置系统变量。此时,不能使用后缀,但值可以采取下列表达式:
mysql> SET sort_buffer_size = 10 * 1024 * 1024;
【内容导航】
第1页: MYSQL服务器系统变量 | 第2页: MYSQL服务器状态变量 |
第3页: MYSQL服务器关键参数优化 | 第4页: 一个函数调试工具 |
第5页: MYSQL数据库的SQL执行计划解释器 | 第6页: |
发表评论
-
MySQL配置文件my.cnf 例子最详细翻译
2009-07-20 11:58 1749http://www.blogjava.net/hunte ... -
MySQL :: @@Rowcount in MySQL
2009-03-02 15:39 2222@@Rowcount in MySQL? Posted ... -
MYSQL中删除重复记录的方法
2009-02-26 12:23 0MYSQL中删除重复记录的方法 2008 ... -
使用 MYSQLBINLOG 来恢复数据。
2009-02-26 12:21 0使用 MYSQLBINLOG 来恢复数据。 20 ... -
13.2.3. InnoDB Startup Options and System Variable
2009-02-20 13:37 1262http://dev.my ... -
mysql innodb 配置详解
2009-02-20 11:01 3582加为好友发送私信在线聊天 -
20.3.9 关于死锁 深入浅出MySQL——数据库开发、优化与管理维护
2009-02-20 10:50 3157深入浅出MySQL——数据库开发、优化与管理维护 回 ... -
mysql的临时表不支持自连接
2009-02-18 13:32 2357TEMPORARY TABLE ProblemsThe fol ... -
windows 下安装两个MySQL收藏
2009-02-03 16:28 2391由于两个MySQL进程需要不同的配置文件,以下所有操作均是在W ... -
1.4.1. What's New in MySQL 5.1
2009-02-03 16:25 11801.4.1. What's New in My ... -
查看mysql版本的四种方法
2009-02-02 10:57 9651:在终端下:mysql -V。 以下 ... -
Server SQL Modes
2009-02-01 11:06 14295.1.7. Server SQL Modes ... -
MySQL中的各种JOIN(CROSS JOIN, INNER JOIN, LEFT [OUTER]
2009-01-13 14:50 6220MySQL中的各种JOIN(CROSS JOIN, I ... -
[转]SQL Server 2000执行计划成本(5/5)
2009-01-09 15:26 1196[转]SQL Server 2000执行计划成本(5/5) ... -
SQL Server 2000执行计划成本(4/5)
2009-01-09 15:25 1102[转]SQL Server 2000执行计划成本(4/5) ... -
[转]SQL Server 2000执行计划成本(3/5)
2009-01-09 15:23 1533[转]SQL Server 2000执行计划成本(3/5) ... -
SQL Server 2000执行计划成本(1/5)
2009-01-09 14:52 1640[转]SQL Server 2000执行计划成本(1/5) ... -
sql server支持create table as ...建表么
2009-01-09 11:52 9032sql server支持create table as .. ... -
SQL Server如何识别自动创建的索引
2009-01-08 15:57 1315SQL Server如何识别自动创建的索引 http://w ... -
请问在一个查询里表连接的顺序对查询的性能是否有影响
2009-01-08 12:02 1221请问在一个查询里表连接的顺序对查询的性能是否有影响? 楼主w ...
相关推荐
本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化。 缓存参数 这里先引用一句话,从内存中读取一个数据的...
浅谈基于MySQL数据库结构设计 本文将围绕MySQL数据库结构设计进行讨论,旨在帮助读者更好地理解和应用MySQL数据库。 MySQL是一个开源的关系型数据库管理系统,它使用了一种名为Structured Query Language(SQL)的...
浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法 MySQL 是一种广泛使用的关系数据库管理系统,优化 SQL 语句查询是提高数据库性能的关键。下面是浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法: 一、避免全表...
### 浅谈MYSQL中的索引优化 #### 一、MySQL中的索引与B+树 在MySQL数据库系统中,索引被广泛应用于提高数据检索的效率。索引本质上是一种数据结构,它允许用户快速定位数据库中的记录。在MySQL中,B+树是最常见的...
浅谈伪分布式数据库架构_金官丁_20110328.pdf 汪富强: DSG数据库复制和备.pdf 张瑞: Database和SSD的实践与探索-IT168数据库大会_公开.pdf 崔华:数据安全与恢复机制揭密.pdf 百度数据库优化实践-李京生_公开版.pdf ...
在MySQL数据库中,`USING` 是一个在执行JOIN操作时非常有用的子句,它用于指定连接两个或多个表的共同列。当我们需要基于共享的列来联接两个表时,`USING` 提供了一个简洁且易于理解的方法。本文将深入探讨 `USING` ...
MySQL和MariaDB是两种广泛使用的开源关系型数据库管理系统(RDBMS),它们有着深厚的渊源。MySQL由瑞典的MySQL AB公司开发,后被Sun Microsystems收购,最终落入甲骨文(Oracle)公司旗下。由于对Oracle可能使MySQL...
数据库优化是提升系统性能的关键环节,尤其是在大数据量的环境下,有效的优化策略能够显著改善查询速度,减少资源消耗,以及防止死锁和阻塞的发生。以下将详细探讨几个关键的数据库优化方案。 首先,表分区是一种...
MySQL数据库本身高度灵活,造成性能不足,严重依赖开发人员的表设计能力以及索引优化能力,在这里给几点优化建议 时间类型转化为时间戳格式,用int类型储存,建索引增加查询效率 建议字段定义not null,null值很难...
默认情况下MySQL是可以接受在日期中插入0值,对于现实来说日期中的0值又没有什么意义。调整MySQL的sql_mode变量就能达到目的。 set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION';...
MySQL索引优化分析是数据库管理员和开发人员必须掌握的关键技能,因为它直接影响到...通过深入理解索引原理、熟练使用`EXPLAIN`命令,以及持续监控和调整,我们可以确保MySQL数据库在处理大规模数据时保持高效运行。
首先,利用专业的数据库优化工具,如PLSQL的执行计划,可以快速定位和解决性能问题。然而,面对大数据量的挑战,传统的行式数据库(如Oracle、MySQL)在处理I/O效率上的局限性变得突出。行式数据库在读取数据时,...
在MySQL数据库管理中,SQL语句的优化是提高数据库性能的关键。以下是对SQL查询优化的30种常用方法的详细分析: 1. **避免全表扫描**:在编写查询时,优先考虑在`WHERE`和`ORDER BY`涉及的列上创建索引,以减少查询...
2. 网络带宽和内存空间的高效利用:在分布式内存数据库系统中,数据不是简单地存储在内存中,而是通过一系列复杂的存储策略进行优化,包括建表、建索引和排序等。 3. 高可靠性和灵活性:分布式内存数据库需要在不同...