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
Nie głosowano
Maksymalnie do zdobycia 25
Wszystkie odpowiedzi 0

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