为了账号安全,请及时绑定邮箱和手机立即绑定

分析、优化、检查、修复MySQL数据表

标签:
MySQL

Summary: in this tutorial, we will introduce you to some very useful statements that allow you to maintain database tables in MySQL.

MySQL provides several useful statement that allows you to maintain database tables effectively. Those statements enable you to analyze, optimize, check, and repair database tables.

Analyze table statement

MySQL query optimizer is an important component of the MySQL server that creates an optimal query execution plan for a query. For a particular query, the query optimizer uses the stored key distribution and other factors to decide the order in which tables should be joined when you performing join, and which indexes should be used for a specific table.

However, the key distributions can be sometimes inaccurate e.g., after you have done a lot of data changes in the table including insert, delete or update. If the key distribution is not accurate, the query optimizer may pick a bad query execution plan that may cause a severe performance issue.

To solve this problem, you can run the ANALYZE TABLE statement for the table e.g., the following statement analyze the payments table in the sample database.

ANALYZE TABLE payments

mysql analyze table statement

If there is no change to the table since the ANALYZE TABLE statement ran, MySQL will not analyze the table again. If you run the above statement again:

ANALYZE TABLE payments

mysql analyze table again

It is saying that the table is already up to date.

Optimize table statement

While working with the database, you do a lot of changes such as insertupdate and delete data in the table that may cause the physical storage of the table fragmented. As a result, the performance of database server is degraded.

MySQL provides you with a statement that allows you to optimize the table to avoid this defragmenting problem. The following illustrates how to optimize a table:

OPTIMIZE TABLE table_name

It is recommended that you execute this statement for the tables that are updated frequently. For example, if you want to optimize the orders table to defragment it, you can perform the following statement:

OPTIMIZE TABLE orders

mysql optimize table statement

Check table statement

Something wrong can happen to the database server e.g., the server was shutdown unexpectedly, error while writing data to the hard disk, etc. These situations could make the database operate incorrectly and in the worst case it can be crashed.

MySQL allows you to check the integrity of database tables by using the CHECK TABLE statement. The following illustrates the syntax of the CHECK TABLE statement:

CHECK TABLE table_name

The CHECK TABLEstatement checks both table and its indexes. For example, you can use the CHECK TABLEstatement to check the orderstable as follows:

CHECK TABLE orders

mysql check table statement

The CHECK TABLE statement only detects problems in a database table but it does not repair them. To repair the table, you use the REPAIR TABLE statement.

Repair table statement

The REPAIR TABLE statement allows you to repair some errors occurred in database tables. MySQL does not guarantee that the REPAIR TABLE statement can repair all errors that the tables may have. The following is the syntax of the REPAIR TABLE statement:

REPAIR TABLE table_name

Suppose there are some errors in the orderstable and you need to fix them, you can use the REPAIR TABLEstatement as the following query:

REPAIR TABLE employees

MySQL returns what it has done to the table and shows you whether the table was repaired or not.

mysql repair statement

 

In this tutorial, you have learned some very handy statements to maintain database tables in MySQL.

原文链接:http://outofmemory.cn/mysql/administration/mysql-database-table-maintenance-statements

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消