Posiadam bazę danych zawierającą 37 mln rekordów w jednej tabeli (prosta tabelka jedynie z trzema kolumnami).
Kiedy zadaję zapytanie sql z wiersza poleceń (zapomniałem dodać że baza to mariadb) to zapytanie trwa okolo 1,5-2 minuty ale wynik jest zwracany poprawnie. Kiedy jednak to samo zapytanie wrzucam w kod php to nie otrzymuję wyniku. Ponieważ na wycinku tej samej bazy te same zapytania działają ok to podejrzewam jakieś timeout. Nie wiem tylko które gdzie i jak je przestawić.
Inna sprawa to czy macie jakieś metody aby przyspieszyć działanie takich zapytań do takiej bazy ? Zapytanie to proste select wybierające jedna kolumnę, na podstawie jednego where. Baza to jak już wspomniałem pojedyncza tabela z 37 mln rekordów (trzy kolumny) o rozmiarze niecałe 2GB.
Update
Co do optymalizacji zaindeksowałem juz kolumny po których przeszukuję bazę oraz typy danych stosuję char zamiast varchar. I po tej optymalizacji zeszłem z czasem zapytania do ~40 sekund. Nadal zbyt długo.