Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste zapytania i niezwykle długi czas wykonywania
Forum PHP.pl > Forum > Bazy danych > MySQL
yarns
Witam,

zakończyłem właśnie migrację z mssql'a na mysql'a.
W bazie jest tylko jedna tabela:

  1. CREATE TABLE `Recordings` (
  2. `IDRecordings` int(10) NOT NULL AUTO_INCREMENT,
  3. `Computer` varchar(100) DEFAULT NULL,
  4. `Device` varchar(50) DEFAULT NULL,
  5. `StartTime` datetime DEFAULT NULL,
  6. `Duration` decimal(18,0) DEFAULT NULL,
  7. `Direction` smallint(5) DEFAULT NULL,
  8. `LocalNumber` varchar(50) DEFAULT NULL,
  9. `RemoteNumber` varchar(50) DEFAULT NULL,
  10. `Operator` varchar(50) DEFAULT NULL,
  11. `Comment` longtext,
  12. `RecordingSize` decimal(18,0) DEFAULT NULL,
  13. `Recording` longblob,
  14. `CallID` int(10) DEFAULT NULL,
  15. `CTIServer` varchar(20) DEFAULT NULL,
  16. `Export` int(10) DEFAULT NULL,
  17. `NrTranszy` varchar(8) DEFAULT NULL,
  18. `IDDane` decimal(18,0) DEFAULT NULL,
  19. `DataPars` datetime DEFAULT NULL,
  20. `TYMCZ` varchar(5) DEFAULT NULL,
  21. PRIMARY KEY (`IDRecordings`)
  22. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

w tabeli jest w tej chwili około 600 tysięcy rekordów - rozmiar tabeli to 50 GB.
Wykonanie jakiegokolwiek select'a trwa kilka minut.
Maszynka stoi na CentOS'ie procesor to dwurdzeniowy Athlon 64 2BG RAM'u.
Przy wykonywaniu kwerendy obciążenie dochodzi maksymalnie do 6%.
Jak zoptymalizować taką bazę?
Będę wdzięczny za wszelkie sugestie i podpowiedzi.

Pozdrawiam
singles
Myślę, że stworzenie indeksów (po najcześciej przeszukiwanych polach) rozwiąże sprawę, a na pewno przyspieszy wyszukiwanie.
yarns
No... niestety same indeks nic nie dały... rozbiłem tabele na dwie... W jednej są całe dane z wyjątkiem blob'ów, a w drugiej same bloby powiązane klucze... Wszystko śmiga...

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.