Wpis z mikrobloga

Państwo mirkostwo od #sql i może #php , czy ktoś może mi podpowiedzieć co tu (obrazek) się stało się? Wyciągam sobie php jakieś tam dane i wrzucam do prościutkiej tabelki. I zasadniczo jest okej, ale nie wiem dlaczemu te indeksy są takie poprzestawiane?

+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| nazwa | varchar(100) | YES | MUL | NULL | |
| link | varchar(200) | YES | | NULL | |
| autor | varchar(50) | YES | | NULL | |
| adres | char(5) | YES | | NULL | |
| zdjecie | char(15) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
6 rows in set (0.09 sec)
OperatorHydrolokator - Państwo mirkostwo od #sql i może #php , czy ktoś może mi podpo...

źródło: comment_qiVfdkX50RXosS56tD2UKP556j5Y2WVW.jpg

Pobierz
  • 6
@OperatorHydrolokator: Silnik bazy czyta tak jak mu wygodnie, a dopiero potem sobie orderuje (na życzenie użytkownika). Same zapisy nie są po kolei w bazie tylko porozrzucane po rożnych stronach (page) w zależności od dostępnego miejsca i w momencie odczytu silnik DB przegląda te strony i jeśli znajdzie to czego szuka - zwraca. Wyobraź sobie, że musiałbyś zdefragmentować swoją bazę aby wszystko było po kolei :)
@OperatorHydrolokator: Dodać należy że pominięcie ORDER BY może dać znaczące zyski na wydajności (bo baza może zacząć przesyłać wiersze nim znajdzie wszystkie lub skończy pracę jak osiągnie LIMIT wierszy) więc brak domyślnej kolejności jest pożądany.