reklama

Optymalizacja MySQL

Optymalizacja bazy MySQL ze składowaniem danych MyISAM. Wybieraj zawsze najbardziej optymalne odpowiedzi.

Tagi dla tego testu: Optymalizacja MyISAM, MySQL,

Podaj swoje imię:


Hashe md5 przechowujemy w polach typu

  • VARCHAR
  • CHAR
  • TEXT
  • INT

Kolumna ID z AI tabeli `Users` powinna mieć typ danych

  • SIGNED INT
  • SIGNED VARCHAR
  • UNSIGNED INT
  • UNSIGNED VARCHAR

Które z zapytań jest szybsze

  • SELECT * FROM user WHERE user_id = 1;
  • SELECT username FROM user WHERE user_id = 1;

Żeby pobrać określoną ilość losowych rekordów z bazy użyjesz

  • ORDER BY RAND() LIMIT 1
  • SELECT count(*) => mt_rand() => LIMIT $rand, 1

Którego z zapytań MySQL użyjesz jeśli chcesz pobrać jeden rekord

  • SELECT 1 FROM user WHERE state = 'Alabama' LIMIT 1;
  • SELECT * FROM user WHERE state = 'Alabama';
  • SELECT * FROM user WHERE state = 'Alabama' LIMIT 1;
  • SELECT 1 FROM user WHERE state = 'Alabama';

Które z zapytań jest szybsze

  • SELECT username FROM user WHERE signup_date >= CURDATE();
  • $today = date("Y-m-d"); SELECT username FROM user WHERE signup_date >= '$today';

Które z zapytań jest szybsze

  • SELECT u.username, a.tresc FROM users u JOIN artykuly a ON u.id = a.id;
  • SELECT u.username, a.tresc FROM users u JOIN artykuly a USING(id);

Indexów nie nalezy stosować

  • przy złączeniach, gdzie warunkiem złączenia jest dana kolumna
  • przy operacjach typu MIN(), MAX() na danej kolumnie
  • Gdy pole w zapytaniach jest wykorzystywane poprzez funkcję
  • Przy częstym występowaniu danej kolumny w klauzuli WHERE

Które z zapytań jest szybsze

  • Mają ten sam czas wykonania
  • Jest to zależne od ułożenia i rodzaju danych w tabeli
  • SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.id=t2.id;
  • SELECT * FROM t1 WHERE id IN (SELECT id FROM t2);

Jeśli podzapytanie zwraca jeden wiersz którego z zapytań MySQL użyjesz

  • SELECT * FROM t1 WHERE t1.col_name = (SELECT a FROM t2 WHERE b = some_const);
  • SELECT * FROM t1 WHERE t1.col_name IN (SELECT a FROM t2 WHERE b = some_const);

Które z zapytań jest szybsze

  • SELECT (SELECT column1 + 5 FROM t1) FROM t2;
  • SELECT (SELECT column1 FROM t1) + 5 FROM t2;

Które z zapytań jest szybsze

  • SELECT * FROM t1 WHERE c1 IN (SELECT C1 FROM t1 WHERE c2 = 1);
  • SELECT * FROM t1 WHERE c1 IN (SELECT * FROM t1 WHERE c2 = 1);

Które z zapytań jest szybsze

  • SELECT * FROM t1 WHERE c1 = 1 OR c1 = -1;
  • SELECT * FROM t1 WHERE c1 = -1 UNION SELECT * FROM t1 WHERE c1 = 1;
  • SELECT * FROM t1 WHERE ABS(C1) = 1;
  • SELECT * FROM t1 WHERE c1 IN (-1, 1);

Które z zapytań jest szybsze

  • SELECT * FROM t1 WHERE 1 < item_id UNION SELECT * FROM t1 WHERE item_id < 3;
  • SELECT * FROM items WHERE 1 < item_id AND item_id < 3;
  • SELECT * FROM items WHERE 1 < item_id < 3;

Które z zapytań jest szybsze

  • SELECT * FROM t1 WHERE c1 = 1 UNION SELECT * FROM t1 WHERE c1 = 2;
  • SELECT * FROM t1 WHERE c1 IN (1, 2);
  • SELECT * FROM t1 WHERE c1 = 1 OR c1 = 2

Które z zapytań jest szybsze

  • SELECT * FROM t1 WHERE c1 = 1 UNION SELECT * FROM t1 WHERE c2 = 2;
  • SELECT * FROM t1 WHERE c1 = 1 OR c2 = 2;

Szybciej przeszukuje się pola z parametrem

  • NULL
  • NO NULL

Dla pól przyjmujących wartości "TAK" lub "NIE" najlepiej zastosować typ

  • CHAR
  • VARCHAR
  • ENUM
  • SET

IP najlepiej przechowywać w polach typu

  • VARCHAR
  • CHAR
  • UNSIGNED INT
  • SIGNED INT

Z pośród podanych typów pól najszybciej przeszukać można

  • SIGNED INT
  • UNSIGNED INT
  • SIGNED TINYINT
  • UNSIGNED TINYINT



Komentarze

Nie ma jeszcze żadnych komentarzy. Twój może być pierwszy!
komentarz

Najlepsze odpowiedzi
bez nazwy2
bez nazwy0
bez nazwy0
bez nazwy0
bez nazwy0
Maksymalnie do zdobycia 25
Wszystkie odpowiedzi 5

FUNportal.PL - śmieszne filmiki, humor, wypadki
moja SONDA.pl - darmowa sonda na bloga
Magazyn GSM - telefony komórkowe, specyfikacja
maniaKalnie - telefony komórkowe, testy