J'ai cherché une solution pour cela, mais hélas, nothind.MYSQL grande LIMIT offset
Actuellement, ma table pousse 5 800 000 lignes, à partir de 5000 sources différentes. Par exemple:
CREATE TABLE stores(
store_id INT UNSIGNED PRIMARY_KEY AUTO_INCREMENT,
name VARCHAR(255)
);
CREATE TABLE articles(
article_id INT UNSIGNED PRIMARY_KEY AUTO_INCREMENT
article_name CHAR(80),
article_price INT UNSIGNED,
store_id INT UNSIGNED
);
Ok, donc je l'ai fait des index comme ceci:
CREATE INDEX article ON articles(store_id,name);
Et je pensais que je l'ai fait pare-balles, pas deviner.
Lorsque je recherche grands ensembles de données, 200 000 articles, im émission:
SELECT article_name,
article_price
FROM articles
WHERE store_id = $id
ORDER BY article_name
LIMIT 100000,20;
et obtenir de très grands temps de réponse. Aidez-moi, s'il vous plaît? : S
Fondamentalement, cette table est bomarded toute la journée. 24/7 j'ai des insertions et des mises à jour. J'ai un index global sur article_name, pas sur store_id. Je ne pense pas qu'un index séparé sur id ferait n'importe quoi. J'utilise la table myisam, est-ce une bonne idée car elle utilise le verrou de la table, est-ce que ça gâche ma performance? Je répète, la table est constamment mise à jour et a beaucoup de nombreux inserts par jour. EDIT: j'ai requête lente activée, ce qui est ce que je reçois # Query_time: 7 Lock_time: 0 Rows_sent: 24 Rows_examined: 8224 BTW, la boîte est VPS avec xeon E5520, mais j'ai seulement 2 cores cpu et 3 Go de RAM. – Rob