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

10 najlepszych praktyk w MySQL

MySQL jest drugim najczęściej używanym systemem zarządzania relacyjnymi bazami danych typu open source na świecie. Stał się tak popularny ze względu na stałą szybkość działania, wysoką niezawodność i łatwość użytkowania. W tym artykule przedstawiono niektóre z najlepszych praktyk w MySQL.

Najlepsze praktyki w MySQL

1. Zawsze używaj właściwego typu danych

Używaj typów danych w oparciu o charakter danych. Jeśli użyjesz nieistotnych typów danych, może to zająć więcej miejsca lub może prowadzić do błędów.
Przykład:Używanie varchar (20) do przechowywania wartości daty i czasu zamiast typu danych DATETIME spowoduje błędy podczas obliczeń związanych z datą i godziną, a także możliwy przypadek przechowywania nieprawidłowych danych.

2. Użyj CHAR (1) zamiast VARCHAR(1)

Jeśli napiszesz pojedynczy znak, użyj CHAR(1) zamiast VARCHAR(1), ponieważ VARCHAR(1) zajmie dodatkowy bajt do przechowywania informacji

3. Użyj typu danych CHAR do przechowywania tylko danych o stałej długości

Przykład:użycie char(1000) zamiast varchar(1000) zużyje więcej miejsca, jeśli długość danych jest mniejsza niż 1000

4. Unikaj używania regionalnych formatów dat

Gdy używasz typu danych DATETIME lub DATE, zawsze używaj formatu daty RRRR-MM-DD lub formatu daty ISO, który odpowiada Twojemu silnikowi SQL. Inne formaty regionalne, takie jak DD-MM-RRRR, MM-DD-RRRR, nie będą prawidłowo przechowywane.

5. Kolumny klucza indeksu

Upewnij się, że indeksujesz kolumny, które są używane w klauzulach JOIN, aby zapytanie szybko zwróciło wynik.
Jeśli używasz instrukcji UPDATE, która obejmuje więcej niż jedną tabelę, upewnij się, że wszystkie kolumny używane do łączenia tabel są zindeksowany

6. Nie używaj funkcji nad indeksowanymi kolumnami

Używanie funkcji nad indeksowanymi kolumnami jest sprzeczne z przeznaczeniem indeksu. Załóżmy, że chcesz uzyskać dane, w których pierwsze dwa znaki kodu klienta to AK, nie pisz
SELECT kolumn FROM table WHERE left (customer_code,2)='AK'
ale przepisz je używając
SELECT kolumny FROM table WHERE customer_code, takie jak 'AK%'
, które będą korzystać z indeksu, co spowoduje szybszy czas odpowiedzi.

7. Użyj SELECT * tylko w razie potrzeby

Nie używaj na ślepo SELECT * w kodzie. Jeśli w tabeli jest wiele kolumn, wszystkie zostaną zwrócone, co spowolni czas odpowiedzi, szczególnie jeśli wyślesz wynik do aplikacji typu front-end.
Jawnie wpisz nazwy kolumn, które są faktycznie potrzebne.

8. Używaj klauzuli ORDER BY tylko w razie potrzeby

Jeśli chcesz pokazać wynik w aplikacji front-end, pozwól jej ZAMÓWIĆ zestaw wyników. Wykonanie tego w SQL może spowolnić czas odpowiedzi w środowisku wielu użytkowników.

9. Wybierz odpowiedni silnik bazy danych

Jeśli tworzysz aplikację, która częściej odczytuje dane niż zapisuje (np. wyszukiwarka), wybierz silnik pamięci masowej MyISAM.
Jeśli tworzysz aplikację, która zapisuje dane częściej niż czyta (np. transakcje bankowe w czasie rzeczywistym), wybierz silnik pamięci masowej INNODB.
Wybranie złego silnika pamięci masowej wpłynie na wydajność

10. W razie potrzeby użyj klauzuli EXISTS

Jeśli chcesz sprawdzić istnienie danych, nie używaj
If (SELECT count(*) z tabeli WHERE col='jakaś wartość')>0
zamiast tego użyj klauzuli EXISTS
If EXISTS(SELECT * from Table WHERE col='jakaś wartość')
co jest szybsze w czasie odpowiedzi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importowanie csv do mysql za pomocą wiersza poleceń

  2. Jak zwrócić lewą lub prawą część ciągu w MySQL

  3. Jak przesyłać i pobierać pliki PHP i MySQL

  4. Instalacja MySQL

  5. LINQ to Entities nie rozpoznaje metody „System.String ToString()” i tej metody nie można przetłumaczyć na wyrażenie sklepu