我有一个表,该表每天获取200,000条记录,我想每天删除它们。
使用phpMyAdmin删除这些行仅需不到一秒钟的时间。如果我在CodeIgniter(PHP)中使用相同的查询删除它们,则需要花费更长的时间(超过5分钟)。
| id | conf_id | session_name | is_active | created_by | created_at | inserted_by | updated_at | updated_by |
|----|---------|--------------|-----------|------------|---------------------|-------------|---------------------|------------|
| 1 | 8 | aaa | y | NULL | 2019-05-10 20:21:01 | 1 | 2019-05-10 16:49:51 | 1 |
| 2 | 8 | bbb | y | NULL | 2019-05-10 20:22:56 | 1 | NULL | 0 |
| 3 | 6 | ccc | y | NULL | 2019-05-10 20:23:04 | 1 | NULL | 0 |
我在mysql phpmyadmin中使用了以下内容,并在毫秒内执行了该命令,
DELETE FROM `sg_scientific_sessions` WHERE date(`created_at`)='2019-05-10'
我在codeigniter中使用了以下相同的代码。
$this->db->query("DELETE FROM `sg_scientific_sessions` WHERE date(`created_at`)='2019-05-10'");
这花费了更多的时间,例如超过5分钟。 我的表还有三件事。 这里的索引位于id,conf_id和created_at。