我正在使用Mysql数据库开发一个CodeIgniter应用程序,它将包含大量数据。
我的查询如下
SELECT id, code, name, category, purchase_price, retail_price, expiry_date, color_code, sub_category FROM products ORDER BY id DESC
在这方面,如何进行最快的SELECT
查询?
如何测量查询执行时间?
为了使查询绝对最快,是将选择的列限制为绝对必要的列,id,价格,颜色等。大数据集应始终在服务器端进行分页。客户端分页在现实世界中几乎完全没有用。在执行查询之前,运行:
SET profiling = 1;
查询完成后。
SHOW PROFILES;
对于此查询:
SELECT id, code, name, category, purchase_price, retail_price, expiry_date, color_code, sub_category
FROM products
ORDER BY id DESC;
[从优化的角度来看,您几乎无能为力除了优化ORDER BY
。最好的索引是:
CREATE INDEX idx_products_id_desc ON products(id desc);