1.实验目的
理解数据库性能概念,练习数据库性能监视命令方法,能够对数据库性能进行优化。
2.实验内容
【实验5-1】使用SHOW语句查询设备吞吐量Questions、Com_Select、Com_insert、Com_update、Com_delete几个指标值。
【实验5-2】访问Performance_schema中的events_statements_summary_by_digest表,获取有关的延迟、错误和查询量信息的性能指标。
【实验5-3】使用SHOW语句查询连接检查指标Threads_connected、Threads_running、Connection_errors_internal、Aborted_connects和Connection_errors_max_connections。
【实验5-4】使用SHOW语句查询Innodb缓冲区指标Innodb_buffer_pool_pages_total、Innodb_buffer_pool_read_requests、Innodb_buffer_pool_reads。
【实验5-5】使用SHOW语句获取与查询缓冲相关的指标:Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks。、
【实验5-6】使用SHOW语句获取关于临时表的指标Created_tmp_disk_tables、Created_tmp_files、Created_tmp_tables。
【实验5-7】使用SHOW语句获取访问表的数量指标Open_tables和Opened_tables。
【实验5-8】使用SHOW PROCESSLIST命令查询用户正在运行的线程信息协助进行故障诊断。
【实验5-9】调出慢查询日志并利用mysqldumpslow来进行日志分析。
【实验5-10】使用EXPLAIN EXTENDED命令查看带有UNION子句的SELECT的执行计划。
【实验5-11】使用EXPLAIN EXTENDED命令查看如下语句的执行计划:
SELECT * FROM t1 WHERE a1<10 AND ( EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=1) OR EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=2));
【实验5-12】使用EXPLAIN EXTENDED命令查看如下语句的执行计划:
SELECT * FROM t1, (SELECT * FROM t2 WHERE t2.a2 >10) v_t2 WHERE t1.a1<10 AND v_t2.a2<20;
【实验5-13】创建一个表,并在适当字段上创建索引,对比在大数据量情形下使用索引与不使用索引的性能。
【实验5-14】使用PROCEDURE ANALYSE检查表列。
【实验5-15】使用Inet_ATON将IP地址192.128.1.1转换为数字,再将2130706433转换为IP地址。
【实验5-16】进行简单的关联查询代替子查询的重写操作,并验证其正确性和执行效率的变化。
【实验5-17】查询SQL的最大连接数并修改其至合适的数值。
3.实验要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)将操作过程以屏幕抓图的方式复制,形成实验文档,并对照本章内容写出分析报告。
(3)将操作所使用的命令对应的参数、参数含义、返回的内容、返回内容的含义整理到分析报告中一同给出。