Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kroki w implementacji hashtable w PHP i Mysql

Myślę, że twój pomysł na tablicę mieszającą jest trochę [nieistniejący]. Tabele haszujące dzielą klucze na listy, które są podobne. Na przykład:tablica haszująca oparta na pierwszej literze imienia, więc byłoby 26 list. Twój skrót to pierwsza litera imienia, dzięki czemu wyszukiwanie jest szybsze.

md5, sha1 służą do wyprowadzania skrótów, które służą do sprawdzania, czy dane nie zostały naruszone. zwykle występują w wersjach 128-bitowych lub 160-bitowych. Tak więc pobiera dane X i wysyła je przez hash, aby uzyskać 128-bitowy ciąg alfanumeryczny, który powinien być taki sam bez względu na to, gdzie jest zrobione. Zwykle jest to kwestia bezpieczeństwa.

EDYTUJ: Rozszerzenie na pytanie, jak wyprowadzić klucze.

Możesz wykorzystać moduł danych, aby utworzyć klucz do użycia w wierszu. W przykładzie dane % X, gdzie X jest całkowitą liczbą kluczy, które chciałbyś mieć. Problem polega na tym, że X jest trudny do znalezienia; jeśli masz 20 pozycji, wtedy zrobienie X na 20 jest wykonalne i sprawia, że ​​jest to szybkie wyszukiwanie, ponieważ każdy element ma swój własny wiersz. Ale jeśli masz 1000 przedmiotów, to zrobienie % 1000 NIE jest możliwe. Zrobienie czegoś takiego jak X =75 działałoby lepiej w tym przypadku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak liczyć wystąpienia w kolumnie oddzielonej przecinkami?

  2. Automatyczne łączenie z PDO tylko w razie potrzeby

  3. Django + MySQL na Elastic Beanstalk — błąd podczas odpytywania MySQL

  4. Jak uzyskać aktualny identyfikator transakcji bazy danych za pomocą JDBC lub Hibernate?

  5. MySQL, DELETE Query z dołączeniem