Optymalizacja mysql dla API |
Optymalizacja mysql dla API |
24.09.2016, 14:16:54
Post
#1
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 0 Dołączył: 26.09.2012 Ostrzeżenie: (0%) |
Mam pytanie z serii optymalizacji bazy danych. Posiadam tabele o nazwie "coordinates" zawiera ona 4 kolumny. Poniżej przykładowe zestawienie
Łącznie zawiera ona 30 000 000 rekordów. API wywołuje takie zapytanie, aby na podstawie danych lat, long znaleźć parametr "city"
Teraz pytania: 1 Czy taka ilość powinna być rozdzielona na kilka tabeli? 2 Czy można, a może powinno się zastosować indeks? 3 Czy stosuje się jakieś zasady optymalizacji przy takim zapytaniu? Ten post edytował maksik 24.09.2016, 14:17:25 |
|
|
24.09.2016, 14:36:43
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
1. nie
2. index na lat/long raczej wymagany, zwłaszcza że nie robisz insertów (zakładam) 3. LIKE ogólnie boli -- Zinteresuj się Solr/ElasticSearch/inne, bardzo fajne mechanizmy które mają bardzo fajne funkcje pozwalające na osiągnięcie tego co chcesz, w czasie o niebo mniejszym --EDIT ElasticSearch Solr Ten post edytował kpt_lucek 24.09.2016, 14:43:18 -------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
24.09.2016, 14:53:59
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
3. W takim przykładzie nie będzie bolało bo jest u żyte dopasowanie końca ciągu czyli
LIKE "xxx%" A taki zapis spowoduje użycie indeksu. |
|
|
24.09.2016, 20:03:15
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Tylko, że zapisywanie współrzednych w polach tekstowych i szukanie LIKE to dość nowatorskie rozwiązanie
|
|
|
24.09.2016, 20:15:47
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No cóż Nasz klient nasz Pan.
Można trzymać też w Decimal 10,6 albo w polu Point z rozszerzenia do MySQL: https://dev.mysql.com/doc/refman/5.7/en/spa...extensions.html |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 03:06 |