Creating an index is very simple. When will this index name cid be used when I write mysql statements?
Or is this cid only used when mysql processes indexes internally, and will not be used when I write statements?
Is it usually enough to just create the index like this? Mysql will handle everything about the index internally? Do I still need to write any sentences myself?
Creating an index is very simple. When will this index name cid be used when I write mysql statements?
Or is this cid only used when mysql processes indexes internally, and will not be used when I write statements?
Is it usually enough to just create the index like this? Mysql will handle everything about the index internally? Do I still need to write any sentences myself?
If you are concerned about whether a certain SQL query uses an index, you can use EXPLAIN SELECT * FROM xxx WHERE yyy
to look at the query plan. It will tell you what index is used, and here you will see your index name
There is another occasion where you will use the index name, that is, if you want to force a certain index to be used for query, you can use SELECT * FROM xxx FORCE INDEX yyy WHERE zzz
. On the contrary, if you want to force a certain index to be ignored, you can use SELECT * FROM xxx IGNORE INDEX yyy WHERE zzz
It has a role of differentiation. It has a role of differentiation. It has a role of differentiation
First of all, you must understand what an index is and why it can speed up queries. An index means that data is arranged according to certain sorting rules. Data is arranged according to the rules given by the index. For example, a joint index (a, b, c), He first places the data according to a b c. When a query is made, such as select * from tb1 where a=1 and b=2 order by c, mysql will first use the a field to quickly locate the data on the disk. At this time, the data of b is again It is placed in an orderly manner according to the rules of a, so the data range can be quickly located. Finally, the c field is also in order, so the index can play a very good role. If the bottom layer is not like this, mysql will access the data on the disk. Take a row and then compare it with the conditions and discard the ones that do not meet the conditions. Finally, sort the files according to the sorting rules. Of course, there are more than these, as well as mysql's clustered index, index coverage, myisam innodb index rules, and the leaves of myisam index. The data is not stored directly, but points to a reference to the physical row, and the innodb data points to a reference to the primary key. If the primary key is not explicitly specified, the system will automatically generate an implicit primary key and simply point to the reference to the primary key. It is recommended to study systematically