Ik heb een producten Database met 2.5 miljoen producten. Als ik daar de laatste producten uit een bepaald aantal categorieën wil laten zien. Dan lukt dat me niet op een snelle manier.
Er zit een Primary Key index op ID, en een index op Category_id. Ook heb ik beide velden al in 1 index gezet. Dit mocht echter ook niet baten.
Aan de hardware kan het ook niet liggen, we draaien op een HP proliant met 18GB ram en 2x Xeon Quad
Dit zijn de SQL commando's die ik uitvoer.
Ik ben mezelf hier al een aantal dagen op stuk aan het bijten. Maar kan tot nu toe nog geen oplossing vinden.
Wellicht heeft iemand een goede tip!
0.8892s deze query is traag
0.0005s met 1 categorie is hij snel
0.9983s met 2 categorieën wordt hij supertraag
0.0013s met ASC is hij snel
Explain
Er zit een Primary Key index op ID, en een index op Category_id. Ook heb ik beide velden al in 1 index gezet. Dit mocht echter ook niet baten.
Aan de hardware kan het ook niet liggen, we draaien op een HP proliant met 18GB ram en 2x Xeon Quad
Dit zijn de SQL commando's die ik uitvoer.
Ik ben mezelf hier al een aantal dagen op stuk aan het bijten. Maar kan tot nu toe nog geen oplossing vinden.
Wellicht heeft iemand een goede tip!
0.8892s deze query is traag
SQL:
1
2
3
4
| SELECT sql_no_cache id FROM products WHERE (products.category_id in ('99', '100', '101', '102', '103', '104', '105', '106', '117', '118', '119', '127', '140', '141', '159')) ORDER BY `products`.`id` DESC LIMIT 25 |
0.0005s met 1 categorie is hij snel
SQL:
1
2
3
4
| SELECT sql_no_cache id FROM products WHERE (products.category_id in ('99')) ORDER BY `products`.`id` DESC LIMIT 25 |
0.9983s met 2 categorieën wordt hij supertraag
SQL:
1
2
3
4
| SELECT sql_no_cache id FROM products WHERE (products.category_id in (99, 100)) ORDER BY `products`.`id` DESC LIMIT 25 |
0.0013s met ASC is hij snel
SQL:
1
2
3
4
| SELECT sql_no_cache id FROM products WHERE (products.category_id in ('99', '100', '101', '102', '103', '104', '105', '106', '117', '118', '119', '127', '140', '141', '159')) ORDER BY `products`.`id` ASC LIMIT 25 |
Explain
code:
1
2
| | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | | 1 | SIMPLE | products | index | category | PRIMARY | 4 | NULL | 286 | Using where | |
[ Voor 36% gewijzigd door RobIII op 02-01-2012 16:12 . Reden: Code tags toegevoegd ]