Administratorzy baz danych

Pytania i odpowiedzi dla profesjonalistów baz danych, którzy chcą poprawić swoje umiejętności baz danych i uczyć się od innych w społeczności


2
Sprawdź istnienie za pomocą EXISTS, wyprzedzając COUNT! … Nie?
Często czytam, kiedy trzeba sprawdzić istnienie wiersza, zawsze powinno się to odbywać za pomocą ISTNIENIA zamiast LICZENIA. Jednak w kilku ostatnich scenariuszach zmierzyłem poprawę wydajności przy użyciu liczenia. Wzór wygląda następująco: LEFT JOIN ( SELECT someID , COUNT(*) FROM someTable GROUP BY someID ) AS Alias ON ( Alias.someID = …

2
W jaki sposób (i dlaczego) TOP wpływa na plan realizacji?
W przypadku średnio złożonego zapytania, które próbuję zoptymalizować, zauważyłem, że usunięcie TOP nklauzuli zmienia plan wykonania. Zgadłbym, że gdy zapytanie zawiera TOP nsilnik bazy danych, uruchomiłoby zapytanie ignorując TOPklauzulę, a następnie na koniec zmniejszyłem zestaw wyników do n żądanej liczby wierszy. Graficzny plan wykonania wydaje się wskazywać, że tak jest …

4
Jak zmienić DEFINER WIDOKU w Mysql?
Po uruchomieniu mysqldump pojawia się błąd: mysqldump: Got error: 1449: The user specified as a definer ('root'@'foobar') does not exist when using LOCK TABLES Ma to sens, ponieważ foobarjest to starsza maszyna, która już nie istnieje. Jak zmienić definicję wszystkich moich tabel na „root” @ „localhost”?


4
Czy kolejność kolumn w definicji tabeli ma znaczenie?
Podczas definiowania tabeli pomocne jest uporządkowanie kolumn w grupach logicznych i samych grup według celu. Logiczne uporządkowanie kolumn w tabeli przekazuje znaczenie deweloperowi i jest elementem dobrego stylu. To jasne. Nie jest jednak jasne, czy logiczne uporządkowanie kolumn w tabeli ma jakikolwiek wpływ na ich fizyczne uporządkowanie w warstwie pamięci, …



3
Czy można przechowywać i przesyłać zapytania do JSON w SQLite?
Muszę przechowywać obiekty JSON w bazie danych SQLite, a następnie wykonywać na nim złożone zapytania. Zrobiłem taki stół: +--------------------------------------+ |document | property | string | number| +--------------------------------------+ |foo | "title" | "test" | | +--------------------------------------+ |foo | "id" | | 42 | +--------------------------------------+ |bar | "id" | | 43 | …
35 sqlite  json 

6
Wyłącz rejestrowanie binarne MySQL za pomocą zmiennej log_bin
Domyślny plik konfiguracyjny MySQL /etc/mysql/my.cnf instalowany przez jakiś pakiet debian przy użyciu APT często ustawia zmienną log_bin, więc binlog jest włączony: log_bin = /var/log/mysql/mysql-bin.log Kiedy chcę wyłączyć rejestrowanie binarne podczas takiej instalacji, komentarz w wierszu w pliku my.cnf oczywiście działa, ale zastanawiam się, czy istnieje sposób na wyłączenie rejestrowania binarnego …
35 mysql  logs  binlog  debian 


3
sprawdź silnik pamięci masowej z powłoki
Aktualizuję do wersji 3.0 i napotkałem problemy z aktualizacją. Konkretnie mam błąd podczas próby uruchomienia mongodprzez sshto próbował użyć domyślnego dbpathzamiast jednej I określonym w moim nowym pliku konfiguracyjnym YAML. Poszedłem do przodu i ponownie uruchomiłem maszynę, a teraz mongodznów działa. W tym momencie jestem trochę paranoikiem i chciałbym wiedzieć, …

4
MySQL Ustaw czas UTC jako domyślny znacznik czasu
Jak ustawić kolumnę datownika, której domyślną wartością jest bieżący czas UTC? MySQL używa UTC_TIMESTAMP()funkcji znacznika czasu UTC: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) Więc próbowałem: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, ... I inne warianty …

2
wybranie, gdzie dwie kolumny są w zestawie
To może być głupie pytanie i podejrzewam, że nie mogę tego zrobić, ale czy istnieje SQL w konstrukcji, która pozwoliłaby mi zrobić coś takiego: SELECT whatever WHERE col1,col2 IN ((val1, val2), (val1, val2), ...) Chcę wybrać dane, w których dwie kolumny są w zestawie par. Jeśli to możliwe, chciałbym uniknąć …
35 mysql  where 

1
UŻYWANIE konstruktu w klauzuli JOIN może w niektórych przypadkach wprowadzić bariery optymalizacyjne?
Zwrócono mi uwagę, że USINGkonstrukcja (zamiast ON) w FROMklauzuli SELECTzapytań może w niektórych przypadkach wprowadzić bariery optymalizacyjne. Mam na myśli to słowo kluczowe: WYBIERZ * Od Dołącz b UŻYCIEM (a_id) Tylko w bardziej skomplikowanych przypadkach. Kontekst: ten komentarz do tego pytania . Używam tego bardzo często i jak dotąd niczego …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.