实例已启动意味着数据库系统运行所需的后台进程已启动,并且处于“确保内存可用于数据处理”的状态,这种实例的调优将成为DBMS性能调优的重要基础。1) DBMS 内存 区域——SGASGA 是作为实例启动时确保控制器信息保存和数据处理空间的内存区域,存在于实例访问的所有进程共享的内存区域中。SGA相关调优的基准基本以命中率评价为主,通过适当地调整相关参数,将实际运行反映到评价结果中。......
2023-11-01
对系统的优化是一项重要的工作,同时也是一个复杂的任务。本节将介绍两种性能优化的方式,优化SQL查询和优化数据库服务器。
1.优化SQL查询
提高查询速度一个很重要的工具莫过于索引了,索引是数据库中重要的数据结构,使用索引能够很大程度上提高查询效率。
假设目前有一个职工表employee。现在要查找emp_id为33的员工的名字,如果employee表没有索引,那么在查找符合条件的条件时,将会把整个表中的数据都浏览一遍。当这个表很大,而符合条件的记录又非常少时,显而易见,效率就会非常低。
给employee表增加索引后,索引会按编号对行进行排序,当查找记录时,MySQL会先查找索引以找到匹配的记录,找到后程序结束执行。正因为索引将数据进行了有序的排列,使得查询的速度增加了许多。
虽然索引能够很大程度上提高查询效率,但是并非要在每个字段上都增加索引,滥用索引不仅不能改善性能,还可能造成系统效率低下。使用索引最重要的一点就是合理性,下面是建立索引的几个原则。
➢ 在SQL语句中频繁进行GROUP BY和ORDER BY的字段上建立索引。(www.chuimin.cn)
➢ 使用唯一索引:如果数据时唯一的,尽量使用唯一索引,因为唯一索引更能提高系统性能。
➢ 建立复合索引:设计一个良好的复合索引建立在多个列上。
➢ 不使用索引:对于不同值很少的字段不要建立索引,如性别字段,只有两个值——男和女。
2.优化数据库服务器
通过调节数据库服务的一些设置,也可在一定程度上更好地发挥MySQL的性能。在命令提示符中输入以下的命令可得到所有mysqld选项和可配置变量的列表:
在MySQL服务器中,需要配置的两个最重要的变量时key_buffer_size和table_cache了,其中key_buffer_size控制索引缓冲可以使用的内存的数量,它的值越大,索引可使用的内存越多;table_cache控制表高速缓冲的大小,如果增加table_cache值可以更快速地访问表中的内容。
有关MySQL数据库设计与实现的文章
实例已启动意味着数据库系统运行所需的后台进程已启动,并且处于“确保内存可用于数据处理”的状态,这种实例的调优将成为DBMS性能调优的重要基础。1) DBMS 内存 区域——SGASGA 是作为实例启动时确保控制器信息保存和数据处理空间的内存区域,存在于实例访问的所有进程共享的内存区域中。SGA相关调优的基准基本以命中率评价为主,通过适当地调整相关参数,将实际运行反映到评价结果中。......
2023-11-01
这一节将重点讨论促使MySQL风行的一些关键特性。接下来,还将提供有关MySQL产品两个主要里程碑版本的重要信息。庞大的开源社区:MySQL之所以如此流行和受欢迎,很大一部分功劳要归功于开源社区的积极支持。在开源社区中不仅能了解到MySQL的最新发展动态,还能快速地解决一些问题和难题。......
2023-10-29
1)分析阶段在分析阶段进行分析时需考虑整体性能和稳定性,此时业务流程优化、系统结构设置、容量计算非常重要。在业务流程优化期间,系统进行电算化的同时改善低效率流程,以提高整体性能。2)设计阶段相比逻辑性设计,在进行数据物理设计时需要考虑与性能相关的操作。4)测试和运行阶段最后的测试和运行阶段可执行的操作包括应用程序调优、数据库调优、OS调优等。图1-1按项目阶段进行数据库性能管理......
2023-11-01
B*树状索引具有树形结构。图3-1B*树原理下面介绍如何使用B*树索引搜索数据。B*树的特征如下:最常用作 Oracle的默认索引。为更好地调优,应充分了解B*树索引的缺点。以下为B*树索引的缺点:在B*树索引中,实际列值也应保存在索引中,因此管理大容量数据时可能会成为负担。 B*树索引的列值选择度良好才能保证性能良好。在B*树Index中,访问相同的表时将并行使用两个以上的索引,因此有许多限制。......
2023-11-01
在MySQL已经成功启动的前提下,输入以下命令:这样一个名为shop的数据库就创建成功了。图4.1查看系统内数据库在图4.1中,第一个数据库information_schema是MySQL自带的,该数据库存储了所有MySQL服务器管理的数据库信息,比如数据库名、数据库的表、表的数据类型及访问权限等。图4.2非法的数据库名如果要创建的数据库名字在MySQL中已经存在,也会发生错误。......
2023-10-29
由于不是所有的用户都习惯于用命令行程序,所以开发了GUI程序。下面就介绍一下SQLyog。SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。图2.19SQLyog连接数据库进入管理界面,如图2.20所示。图2.22SQLyog查询视图结果视图,如图2.23所示。图2.23SQLyog结果视图数据库选择、常用工具栏,如图2.24所示。图2.25SQLyog菜单栏SQLyog常用技巧: Ctrl+Enter代码提示。......
2023-10-29
图1-7磁盘I/O瓶颈现象调查最理想的I/O应用就是所有控制器相应的设备都得以均衡使用。图1-10所示为调查Oracle数据库内文件的I/O的SQL。图1-10调查Oracle数据库内文件通过上述分析结果,可采取的措施包括:将 /oracle上数据文件的一部分移至有其他控制器的挂载点,通过移动 RBS、TEMP、USERS中一两个数据文件使 I/O平衡并分散。该操作非一次性操作,分配一次后要重新进行监测,确定 I/O是否分散均衡。......
2023-11-01
基于规则是指根据条件语句的syntax预先确定条件范围并以此为基础制定执行计划。以下为RBO预先对性能定义规则的项目。使用 unique-key、primary-key的HASH cluster key的单个行访问。2) RBO中的 SQL调优创建连接语句的执行计划时,RBO对所有可能的连接顺序以指定的access path优先顺序为标准,尽量少执行FULL-TABLE SCAN,同样尽量少执行SORT-MERGE操作。此时,从底部选择用于五个条件子句的索引作为AND-EQUAL处理对象。若两个执行计划的优先顺序完全相同,RBO只能选择在行缓存内先发现的执行计划。......
2023-11-01
相关推荐