Вопросы с тегом «query-optimization»

214
Подсчет DISTINCT по нескольким столбцам

Есть ли лучший способ сделать запрос, подобный этому: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery Мне нужно посчитать количество отдельных элементов из этой таблицы, но количество разных элементов превышает два столбца. Мой запрос...

208
Индексы MySQL - каковы лучшие практики?

Я уже некоторое время использую индексы в своих базах данных MySQL, но так и не узнал о них должным образом . Обычно я помещаю индекс в любые поля, которые я буду искать или выбирать, используя WHEREпредложение, но иногда это не кажется таким черно-белым. Каковы лучшие практики для индексов MySQL?...

207
SQL: Как правильно проверить, существует ли запись

Читая некоторую документацию по настройке SQL, я нашел это: SELECT COUNT(*) : Подсчитывает количество строк. Часто неправильно используется для проверки существования записи. Это SELECT COUNT(*)действительно так плохо? Как правильно проверить наличие...

182
JOIN запросы против нескольких запросов

Являются ли запросы JOIN быстрее, чем несколько запросов? (Вы запускаете свой основной запрос, а затем запускаете множество других SELECT на основе результатов вашего основного запроса) Я спрашиваю, потому что присоединение к ним усложнит ОЧЕНЬ дизайн моего приложения Если они быстрее, может ли...

114
Варианты производительности запросов LIKE в PostgreSQL

Я видел довольно большие различия во времени ответа на LIKEзапросы к конкретной таблице в моей базе данных. Иногда я получаю результаты в пределах 200-400 мс (очень приемлемо), но в других случаях для получения результатов может потребоваться до 30 секунд. Я понимаю, что LIKEзапросы очень...

114
Почему в MongoDB имеет значение направление индекса?

Чтобы процитировать документы : При создании индекса число, связанное с ключом, указывает направление индекса, поэтому оно всегда должно быть 1 (по возрастанию) или -1 (по убыванию). Направление не имеет значения для индексов с одним ключом или для выборки с произвольным доступом, но важно, если вы...

96
PostgreSQL - получить строку, которая имеет максимальное значение для столбца

Я имею дело с таблицей Postgres (называемой "жизнями"), которая содержит записи со столбцами для time_stamp, usr_id, transaction_id и life_remaining. Мне нужен запрос, который предоставит мне самое последнее количество жизней_ремайн для каждого usr_id Есть несколько пользователей (разные usr_id)...

79
Как выполнить рекурсивный запрос SELECT в MySQL?

Получилась следующая таблица: col1 | col2 | col3 -----+------+------- 1 | a | 5 5 | d | 3 3 | k | 7 6 | o | 2 2 | 0 | 8 Если пользователь ищет «1», программа будет смотреть на то, col1что имеет «1», затем получит значение col3«5», затем программа продолжит поиск «5» в col1и получит «3». в col3и...