Bug #15932 | why can't indexes updated? | ||
---|---|---|---|
Submitted: | 22 Dec 2005 9:31 | Modified: | 22 Jan 2006 13:41 |
Reporter: | zhenxing zhai | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.17 | OS: | Linux (linux) |
Assigned to: | CPU Architecture: | Any |
[22 Dec 2005 9:31]
zhenxing zhai
[22 Dec 2005 13:41]
Valeriy Kravchuk
Thank you for a problem report. Looks like non-unique indexes are not always updated during insert into weblogentry_new select * from weblogentry; because of the same bulk-insert optimization that is performed for LOAD DATA INFILE... I am looking for the description to give you the URL. Please, try to perform ANALYZE TABLE weblogentry_new after INSERT ... SELECT... Your indexes information should become correct after that. The problem can be demonstrated using only one table: mysql> create table t1 (c1 int auto_increment primary key, c2 char(10), key c2_k ey (c2)) engine = MyISAM; Query OK, 0 rows affected (0.05 sec) mysql> insert into t1(c2) values ('aaa'); Query OK, 1 row affected (0.03 sec) mysql> insert into t1(c2) values ('aaa'); Query OK, 1 row affected (0.00 sec) mysql> insert into t1(c2) values ('aaa'); Query OK, 1 row affected (0.00 sec) mysql> insert into t1(c2) values ('bbb'); Query OK, 1 row affected (0.00 sec) mysql> insert into t1(c2) select c2 from t1; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> insert into t1(c2) select c2 from t1; Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> insert into t1(c2) select c2 from t1; Query OK, 16 rows affected (0.01 sec) Records: 16 Duplicates: 0 Warnings: 0 mysql> insert into t1(c2) select c2 from t1; Query OK, 32 rows affected (0.01 sec) Records: 32 Duplicates: 0 Warnings: 0 mysql> insert into t1(c2) select c2 from t1; Query OK, 64 rows affected (0.02 sec) Records: 64 Duplicates: 0 Warnings: 0 mysql> insert into t1(c2) select c2 from t1; Query OK, 128 rows affected (0.02 sec) Records: 128 Duplicates: 0 Warnings: 0 mysql> show index from t1; +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | t1 | 0 | PRIMARY | 1 | c1 | A | 256 | NULL | NULL | | BTREE | | | t1 | 1 | c2_key | 1 | c2 | A | NULL | NULL | NULL | YES | BTREE | | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ 2 rows in set (0.00 sec) mysql> analyze table t1; +---------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+---------+----------+----------+ | test.t1 | analyze | status | OK | +---------+---------+----------+----------+ 1 row in set (0.00 sec) mysql> show index from t1; +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | t1 | 0 | PRIMARY | 1 | c1 | A | 256 | NULL | NULL | | BTREE | | | t1 | 1 | c2_key | 1 | c2 | A | 2 | NULL | NULL | YES | BTREE | | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ 2 rows in set (0.00 sec)
[23 Jan 2006 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".