![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taką tabelkę:
Danych jest 12 milionów. Dane 87 049,5 KB Indeks 300,0 MB Sumarycznie 385,0 MB Dla wszystkich numerków co_id jadę paczkami po 100 (celem rozłożenia danych w innej bazie na kilka tabelek). W mojej pętli idzie to tak:
O ile w zapytaniach z WHERE po status-ie klucz jest używany, to w tym zapytaniu już nie (mylę się?):
W każdym razie. Czy opłaca się to zaindeksować po samym co_id?? Danych jest 80 MB, a indexu będzie kolejne jakieś megabajty. To czy opłaca się mnożyć indexy, czy lepiej niech jedzie full scanem?? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 9 Dołączył: 21.05.2004 Skąd: Glogau/Breslau Ostrzeżenie: (0%) ![]() ![]() |
Ale w podanym zapytaniu też używasz statusu, a w kluczu `statusy` - status jest pierwszy, więc czemu nie miałby mysql z niego skorzystać? Najlepiej to po prostu zapytaj mysqla http://dev.mysql.com/doc/refman/5.0/en/explain.html
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale w podanym zapytaniu też używasz statusu, a w kluczu `statusy` - status jest pierwszy, więc czemu nie miałby mysql z niego skorzystać? Najlepiej to po prostu zapytaj mysqla http://dev.mysql.com/doc/refman/5.0/en/explain.html Explaina z update-a nie zrobię, a jeżeli przeczytasz uważnie to
WHERE na jedynie co_id, więc status nie bierze udziału w wyszukiwaniu. Pytanie, czy dołożenie mega indexu zmieni cokolwiek, czy będzie porównywalne z full scanem (skoro i tak struktura jest bardzo uboga) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:12 |