die High Performance MySQL sagt, dass eine der Vorteile des Index ist "Indizes drehen zufällige I/O in sequentielle I/O", so verstehe ich nicht, wie es geht mysql-Indizes verwandeln zufällige I/O in sequentielle I/O.Wie mysql Indizes zufällige I/O in sequentielle I/O
Antwort
Ich denke, sie bedeuten, dass, wenn Sie solche Indizes Spalte in der Tabelle haben Sie Ihre Sachen sehr einfach sortieren können als die Indizes eine Sequenz
Von diesen Eigenschaften gehen die folgenden drei Hauptvorteile aus: Eigenschaften: 1. Indizes reduzieren die Datenmenge, die der Server untersuchen muss. 2. Indizes helfen dem Server, Sortier- und temporäre Tabellen zu vermeiden. 3. Indizes verwandeln zufällige I/O in sequentielle I/O ... So wurde die Sortierung Vorteil vorgeschlagen, aber immer noch gibt es eine "Indizes, die zufällige I/O in sequentielle I/O" nutzen, ich wirklich tun verstehe nicht wie. Trotzdem danke! – wxweven
Denken eines Telefonbuchs sind. Angenommen, Sie möchten Personen mit Nachnamen suchen, die mit "S" beginnen. Sie können alle sehr nahe beieinander finden.
Sortierung wird auch durch einen Index unterstützt. Wenn Sie nach allen Personen mit Nachnamen suchen, die mit "S" beginnen, und Sie diese in der Reihenfolge ihres Nachnamens haben möchten, ist das kein Problem. Die Abfrage kann sie in der Reihenfolge lesen, in der sie im Telefonbuch aufgeführt sind alles zusammen gespeichert. Das Abrufen erfolgt also durch sequentielles Lesen.
Aber wenn Sie möchten, dass sie nach etwas anderem sortiert werden, wie ihr Vorname, dann müssen Sie die abgerufenen Zeilen sortieren, bevor Sie sie in der von Ihnen gewünschten Reihenfolge zurückgeben. Das Dataset, das sortiert werden soll, ist möglicherweise größer als es in den Speicher passt. Daher muss für die Sortierung temporärer Speicherplatz verwendet werden. Es gibt Möglichkeiten, dies ziemlich effizient zu tun, aber es könnte mehrere Durchläufe erfordern oder eine sortierte Liste erstellen, wenn die Zeilen aus der Datenbank abgerufen werden.
Wenn die Zeilen in vorsortierter Reihenfolge gespeichert werden, ist es effizient, nach gemeinsam gespeicherten Werten zu suchen und diese effizient in der Reihenfolge des Index abzurufen.
"Indizes verwandeln zufällige I/O in sequentielle I/O", bedeutet dies, dass dies nur für Primärschlüssel funktioniert? Da Sie die Daten nicht in zwei Indexreihenfolgen speichern können, müssen Sie beim Abrufen von Daten durch andere Indizes immer noch auf zufällige E/A zugreifen. Hoffe auf deine Antwort! Danke vielmals! – wxweven
Dem stimme ich zu. Es sei denn, Ihre Abfrage ist eine "Nur-Index" -Abfrage, bei der nur die Spalten benötigt werden, die Teil des zu überprüfenden Index sind. –
- 1. Haskell, wie IO IO Monad
- 2. Wie Buchse io und Buchse io Client
- 3. Beinhaltet Socket IO Disk IO?
- 4. Winkel-socket-io io ist nicht
- 5. Filter IO [Maybe String] zu IO [String]
- 6. Haskell Monade: IO [Double] bis [IO Double]
- 7. Wie Sie IO in Sybase
- 8. Wie verwendet .NET IO Threads oder IO Completion Ports?
- 9. "Lazy IO" in Haskell?
- 10. IO :: Lambda in Perl
- 11. Haskell Weg zu [IO String] in IO String
- 12. Was blockiert in einfachen Worten IO und nicht-blockierende IO?
- 13. Konvertiere [IO Int] zu IO [Int] in Haskell?
- 14. Datensatzaktualisierungsfehler in IO Monad?
- 15. Datei-IO in CasperJS
- 16. IO Fehler in Python
- 17. Eine Liste von IO Float zusammenfassen: [IO Float] in Haskell
- 18. Warum gibt es eine verschachtelte IO-Monade, IO (IO()), als Rückgabewert meiner Funktion?
- 19. Numpy memmap Bessere IO- und Speichernutzung
- 20. Konnte nicht erwarteten Typ 'IO()' mit tatsächlichen Typ '(Controller -> IO()) -> IO()'
- 21. , was der Unterschied zwischen Speicher gemappt io ist und io io
- 22. java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.copyInputStreamToFile (Ljava/io/Input; Ljava/io/Datei;)
- 23. Warum/wie funktioniert rekursives IO?
- 24. Undertow wie Non-blocking IO?
- 25. Welche IO-Aktivität unterstützt der GHC IO-Manager?
- 26. Wert von IO auspacken
- 27. Idiomatische IO mit Skala
- 28. STM und ausgehende IO
- 29. Socket io Code verwirrend
- 30. IO-Pufferung ausschalten
Was ist "High Performance MySQL"? Ein Buch? Blog? Richtiges Zitat bitte. – EJP
ein Buch, geschrieben von Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, siehe den Link, http://shop.oreilly.com/product/0636920022343.do – wxweven
Welche der 3 Editionen ist das? –