Администраторы базы данных

Вопросы и ответы для специалистов по базам данных, которые хотят улучшить свои навыки работы с базами данных и учиться у других в сообществе


4
Как узнать, как далеко находится мой запрос к PostgreSQL?
У меня есть довольно приличное представление о том, сколько строк фактически обработает мой запрос SELECT ... INTO (например, я знаю, сколько из них материализуется). Я понимаю, что Postgres не скажет мне процентную полноту, есть ли способ (скрытый глубоко в журналах, системных таблицах или иным образом), чтобы я мог узнать, сколько …
35 postgresql 

5
Проблема с блокировкой при одновременном удалении / вставке в PostgreSQL
Это довольно просто, но я озадачен тем, что делает PG (v9.0). Начнем с простой таблицы: CREATE TABLE test (id INT PRIMARY KEY); и несколько строк: INSERT INTO TEST VALUES (1); INSERT INTO TEST VALUES (2); Используя мой любимый инструмент запросов JDBC (ExecuteQuery), я подключаю два сеансовых окна к БД, где …

2
Как (и почему) TOP влияет на план выполнения?
Для довольно сложного запроса, который я пытаюсь оптимизировать, я заметил, что удаление TOP nпредложения меняет план выполнения. Я бы предположил, что когда запрос включает TOP nв себя механизм базы данных, он будет запускать запрос, игнорируя TOPпредложение, а затем в конце просто сократит этот результат до n запрошенных строк. Графический план …

4
Имеет ли значение порядок столбцов в определении таблицы?
При определении таблицы полезно упорядочить столбцы в логических группах и сами группы по назначению. Логическое упорядочение столбцов в таблице передает смысл разработчику и является элементом хорошего стиля. Это понятно. Однако неясно, оказывает ли логическое упорядочение столбцов в таблице какое-либо влияние на их физическое упорядочение на уровне хранилища, или оно оказывает …


4
Почему MySQL не имеет хеш-индексов на MyISAM или InnoDB?
У меня есть приложение, которое будет выбирать только на равенство, и я думаю, что я должен использовать хеш-индекс над индексом btree. К моему великому сожалению, хеш-индексы не поддерживаются в MyISAM или InnoDB. Что с этим?
35 mysql  index  innodb  myisam 

4
Как мне изменить ОПРЕДЕЛИТЕЛЬ ВИДА в Mysql?
Когда я запускаю mysqldump, я получаю сообщение об ошибке: mysqldump: Got error: 1449: The user specified as a definer ('root'@'foobar') does not exist when using LOCK TABLES Это имеет смысл, потому что foobarэто устаревшая машина, которой больше не существует. Как мне изменить определитель всех моих таблиц на «root» @ «localhost»?

3
Можно ли хранить и запрашивать JSON в SQLite?
Мне нужно хранить объекты JSON в базе данных SQLite, а затем делать сложные запросы к ней. Я сделал таблицу, как это: +--------------------------------------+ |document | property | string | number| +--------------------------------------+ |foo | "title" | "test" | | +--------------------------------------+ |foo | "id" | | 42 | +--------------------------------------+ |bar | "id" | …
35 sqlite  json 


6
Отключить бинарное ведение журнала MySQL с помощью переменной log_bin
Конфигурационный файл MySQL по умолчанию /etc/mysql/my.cnf, установленный некоторым пакетом debian с использованием APT, часто устанавливает переменную log_bin, поэтому binlog включены: log_bin = /var/log/mysql/mysql-bin.log Когда я хочу отключить бинарное ведение журнала при такой установке, закомментируйте строку в my.cnf, конечно, но мне интересно, есть ли способ отключить бинарное ведение журнала, установив явно …
35 mysql  logs  binlog  debian 

3
проверить двигатель хранилища из оболочки
Я обновляюсь до 3.0 и столкнулся с некоторыми проблемами при обновлении. В частности, я получил сообщение об ошибке при попытке запуска mongodчерез ssh, он попытался использовать значение по умолчанию dbpathвместо того, которое я указал в моем новом файле конфигурации YAML. Я пошел вперед и перезагрузил машину, и теперь mongodон снова …

1
Конструкция USING в предложении JOIN может вводить барьеры оптимизации в определенных случаях?
Мне стало известно, что USINGконструкция (вместо ON) в FROMпредложении SELECTзапросов может в некоторых случаях вводить барьеры оптимизации. Я имею в виду это ключевое слово: ВЫБРАТЬ * Из ПРИСОЕДИНЯЙТЕСЬ К ИСПОЛЬЗОВАНИЮ (a_id) Просто в более сложных случаях. Контекст: этот комментарий к этому вопросу . Я использую это много и никогда не …

4
MySQL установить время UTC в качестве временной метки по умолчанию
Как установить столбец отметки времени, значением по умолчанию которого является текущее время UTC? MySQL использует UTC_TIMESTAMP()функцию для отметки времени UTC: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) Итак, я попробовал: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, …

2
выбирая, где два столбца находятся в наборе
Это может быть глупый вопрос, и я подозреваю, что я не могу этого сделать, но есть ли в SQL конструкция, которая позволила бы мне сделать что-то вроде следующего: SELECT whatever WHERE col1,col2 IN ((val1, val2), (val1, val2), ...) Я хочу выбрать данные, где два столбца находятся в наборе пар. Я …
35 mysql  where 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.