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

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

3
Как раскрутить и GROUP BY элементы массива JSON?
Учитывая bandтаблицу, со jsonстолбцом, содержащим массив: id | people ---+------------- 1 | ['John', 'Thomas'] 2 | ['John', 'James'] 3 | ['James', 'George'] Как перечислить количество групп, в которые входит каждое название? Желаемый результат: name | count -------+------------ John | 2 James | 2 Thomas | 1 George | 1

1
Данные изначально упорядочены, как если бы это был кластерный индекс
У меня есть следующая таблица с 7,5 миллионами записей: CREATE TABLE [dbo].[TestTable]( [Id] [int] IDENTITY(1,1) NOT NULL, [TestCol] [nvarchar](50) NOT NULL, [TestCol2] [nvarchar](50) NOT NULL, [TestCol3] [nvarchar](50) NOT NULL, [Anonymised] [tinyint] NOT NULL, [Date] [datetime] NOT NULL, CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE …

1
Почему план с ПОЛНОЙ оптимизацией показывает простую параметризацию?
Я читал, что только простые планы могут быть простыми параметризованными , и что не все запросы (даже если план тривиальный) могут быть простыми параметризованными . Тогда почему этот план показывает полную оптимизацию и простую параметризацию одновременно?

1
Как мне разрешить имя триггера базы данных с помощью встроенных функций?
У меня есть триггер базы данных, который я использую, чтобы предотвратить создание определенных процедур в пользовательских базах данных. Он появляется в sys.triggers, с object_id, но я не могу использовать object_idфункцию, чтобы найти его. SELECT OBJECT_ID(t.name, t.type) AS object_id, * FROM sys.triggers AS t; Точно так же я могу найти это …

4
Выйти из запроса в регистре?
Я пытаюсь настроить запрос, чтобы он сравнивал две даты из двух разных таблиц, и если они равны, запрос завершается. Если они не равны, тогда запрос будет продолжен и вставлены некоторые вещи. Однако я не могу понять, как заставить его делать то, что я хочу. SELECT TOP(1) @dateA=a.someDate FROM a ORDER …

3
Уменьшает ли резервное копирование базы данных размер журнала транзакций?
Я пытаюсь собрать некоторые знания о базах данных SQL, и у меня есть несколько вопросов о файле журнала транзакций (LDF). Прежде всего, когда вы создаете базу данных, вы должны определить начальный размер файла как для базы данных, так и для файла журнала. Из того, что я вижу, как только файлы …

1
Почему функция возврата набора (SRF) работает медленнее в предложении FROM?
Это вопрос внутренней базы данных. Я использую PostgreSQL 9.5, мне интересно, почему Set Returning Functions (SRF), также известные как Table-Valued Functions (TVFs), работают медленнее, когда в FROMпредложении, например, когда я выполняю эти команды, CREATE TABLE foo AS SELECT * FROM generate_series(1,1e7); SELECT 10000000 Time: 5573.574 ms Это всегда существенно медленнее, …

1
PostgreSQL - работа с массивом из тысяч элементов
Я ищу, чтобы выбрать строки на основе того, содержится ли столбец в большом списке значений, которые я передаю в виде целочисленного массива. Вот запрос, который я сейчас использую: SELECT item_id, other_stuff, ... FROM ( SELECT -- Partitioned row number as we only want N rows per id ROW_NUMBER() OVER (PARTITION …

1
Изменил ли Microsoft оптимизатор запросов относительно количества файлов и параллелизма?
Microsoft изменила оптимизатор запросов относительно количества файлов и параллелизма? Разве оптимизатор больше не учитывает количество файлов для определения степени параллелизма запроса? Если так, кто-нибудь знает, когда было сделано изменение? Если нет, может ли кто-нибудь предоставить ссылку на документацию Microsoft, в которой обсуждается эта тема (текущая документация для SQL Server 2014 …

2
MySql Gap Lock Deadlock на вставках
Я получаю Deadlocks от блокировок на столе при частой вставке из нескольких источников. Вот краткий обзор моих процессов. START TRANSACTION UPDATE vehicle_image SET active = 0 WHERE vehicleID = SOMEID AND active = 1 Loop: INSERT INTO vehicle_image (vehicleID, vehicleImageFilePath, vehicleImageSplashFilePath ,vehicleImageThumbnailFilePath, vehicleImageMiniFilePath, mainVehicleImage, active) VALUES (%s, %s, %s, %s, …

2
Как я делаю факториалы в SQL Server?
В PostgreSQL я часто хочу сделать что-то вроде поиска факториала 7. Я могу сделать это очень просто с SELECT 7!; -- PostgreSQL is so full featured -- it even supports a prefix-factorial SELECT !!7; Даже в Excel естьFACT , =FACT(7) Как это сделать с SQL Server 2017 Enterprise?

2
Выберите TOP N Строк, отсутствующих во временной таблице SSMS
Я использую временные таблицы в своей базе данных, и когда я щелкаю правой кнопкой мыши по своей таблице в Management Studio 2017 (v17.4 14.0.17213.0), я не вижу Выбор топ-1000 строк в контекстном меню (нет проблем с не временными таблицами ) Есть идеи, как вернуть это контекстное меню? У меня такое …

4
Самый эффективный способ вызова одной и той же табличной функции для нескольких столбцов в запросе
Я пытаюсь настроить запрос, в котором одна и та же табличная функция (TVF) вызывается для 20 столбцов. Первым делом я преобразовал скалярную функцию во встроенную табличную функцию. Используется CROSS APPLYли наилучший способ выполнения одной и той же функции для нескольких столбцов в запросе? Упрощенный пример: SELECT Col1 = A.val ,Col2 …

3
Ошибка SQL Server, «Неправильное использование параметра FIRST в операторе FETCH».
Начиная с 2012 года документы по SQL Server показывают, что они поддерживают то, OFFSET..FETCHчто я пытаюсь использовать вместо LIMIT. Следующее прекрасно работает в PostgreSQL для выборки набора результатов, SELECT * FROM ( VALUES (1),(2),(3) ) AS t(x) OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY; Тем не менее, с SQL …

2
Невозможно удалить файловую группу без связанных файлов
У меня возникают некоторые странные сообщения об ошибках в SQL Server 2017 CU3. Я перемещаю базы данных и реорганизую файловые группы. Под «реорганизацией» я подразумеваю, что я использую хранимую процедуру, которая создает функцию разделения и схему разбиения для новой файловой группы для объекта, перестраивает индексы при разбиении и затем удаляет …

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