-1
Meine Abfrage mehr als 25 Sekunden laufen, und ich kann nicht verstehen, warumWie Abfrage mit mehr als 100k Datensätze optimieren
SELECT transactions . * , m.member_id, m.group_id, m.username, preffered_currency, transactions.payment_method
FROM `transactions`
JOIN `members` `m` ON `m`.`member_id` = `transactions`.`member_id`
ORDER BY `paid_microtime`
LIMIT 25
Hier Indizes aus der Transaktion (~ 100k Datensätze) Tabelle
transactions 0 PRIMARY 1 transaction_id A 92304 NULL NULL BTREE
transactions 1 member_id 1 member_id A 44 NULL NULL BTREE
transactions 1 payment_method 1 payment_method A 70 NULL NULL BTREE
transactions 1 child_method 1 child_method A 234 NULL NULL BTREE
transactions 1 check_ballance 1 check_ballance A 2 NULL NULL BTREE
transactions 1 transaction_status 1 transaction_status A 18 NULL NULL BTREE
transactions 1 dt 1 dt A 92304 NULL NULL BTREE
transactions 1 transaction_type 1 transaction_type A 2 NULL NULL BTREE
transactions 1 paid_microtime 1 paid_microtime A 92317 NULL NULL BTREE
und von den Mitgliedern (30 Einträge) Tabelle
members 0 PRIMARY 1 member_id A 28 NULL NULL BTREE
members 1 username 1 username A 28 NULL NULL BTREE
members 1 ban 1 ban A 4 NULL NULL BTREE
members 1 active 1 active A 4 NULL NULL BTREE
können Sie sehen, was mit meiner Abfrage falsch ist, die es dauerte 25 Sekunden, das?
EDIT: Ergebnisse von
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE m ALL PRIMARY NULL NULL NULL 28 Using temporary; Using filesort
1 SIMPLE transactions ref member_id member_id 4 tadam.m.member_id 2097 Using index condition
Können Sie die Ergebnisse von EXPLAIN veröffentlichen? –
index von paid_microtime? – Quazer
@JoeStefanelli Bitte überprüfen EDIT –