Home  >  Article  >  Database  >  Boolean Education Yan Eighteen MySQL Optimization Video Data Sharing

Boolean Education Yan Eighteen MySQL Optimization Video Data Sharing

巴扎黑
巴扎黑Original
2017-08-31 11:12:191081browse

At present, the database is the basic component for data storage in most systems. The efficiency of the database has a vital impact on the stability and efficiency of the system; in order to have a better user experience, the optimization of the database is extremely important. So from what aspects should we optimize our database? Let us discuss and learn together in the course "Boolean Education Yan 18 MySQL Optimization Video Tutorial"!

Boolean Education Yan Eighteen MySQL Optimization Video Data Sharing

Video playback address: http://www.php.cn/course/200.html

The difficulty of this video is Optimize the query function, that is, the use of indexes:

1. Select the data type of the index

MySQL supports many data types. Choosing the appropriate data type to store data has a great impact on performance. . Generally speaking, some guidelines can be followed:

(1) Smaller data types are usually better: Smaller data types usually require less space on disk, memory, and CPU cache. Processing is faster.
(2) Simple data types are better: Integer data has less processing overhead than characters, because the comparison of strings is more complex. In MySQL, you should use the built-in date and time data types instead of strings to store time; and use integer data types to store IP addresses.
(3) Try to avoid NULL: the column should be specified as NOT NULL, unless you want to store NULL. In MySQL, columns containing null values ​​are difficult to optimize queries because they complicate indexes, index statistics, and comparison operations. You should replace null values ​​with 0, a special value, or an empty string.

1.1. Select identifier
It is very important to choose the appropriate identifier. When choosing, you should not only consider the storage type, but also how MySQL performs operations and comparisons. Once a data type is selected, it should be ensured that all related tables use the same data type.
(1) Integer: Usually the best choice as an identifier, because it can be processed faster and can be set to AUTO_INCREMENT.

(2) String: Try to avoid using strings as identifiers, they consume more space and are slower to process. Also, in general, strings are random, so their position in the index is also random, which can lead to page splits, random access to disk, and clustered index splits (for storage engines using clustered indexes).

2. Introduction to Indexes
For any DBMS, indexes are the most important factor in optimization. For a small amount of data, the impact of not having a suitable index is not great, but as the amount of data increases, the performance will drop sharply.
If multiple columns are indexed (combined index), the order of the columns is very important. MySQL can only perform an effective search on the leftmost prefix of the index. For example:
Assume that there is a combined index it1c1c2(c1,c2), and the query statement select * from t1 where c1=1 and c2=2 can use this index. The query statement select * from t1 where c1=1 can also use this index. However, the query statement select * from t1 where c2=2 cannot use this index because there is no leading column of the combined index. That is, if you want to use column c2 for search, c1 must be equal to a certain value.

The lecturer of this course is Liu Daocheng, a famous lecturer of Chuanzhi Podcast. You may not know Liu Daocheng, but when it comes to Yan Shiba, you must know that Liu Daocheng is Yan Shiba. His lecture style is humorous and the classroom atmosphere is very good, which can mobilize students' enthusiasm during class and give everyone a relaxed learning atmosphere. In addition, his lectures are very focused, allowing you to know where the key points of learning are, and you can focus on studying when you go back. The difficult points of learning will also be explained in great detail, so that everyone can understand them.

The above is the detailed content of Boolean Education Yan Eighteen MySQL Optimization Video Data Sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn