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

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

2
Если положительный, суммируйте все пункты. Если отрицательный, вернуть каждый
Мне нужно найти путь ко SUM()всем положительным значениям numи вернуть SUM()все положительные числа и отдельную строку для каждого отрицательного числа. Ниже приведен пример DDL: Create Table #Be ( id int , salesid int , num decimal(16,4) ) Insert Into #BE Values (1, 1, 12.32), (2, 1, -13.00), (3, 1, 14.00) …

2
Использование индексированных представлений для агрегатов - слишком хорошо, чтобы быть правдой?
У нас есть хранилище данных с довольно большим количеством записей (10-20 миллионов строк), и мы часто выполняем запросы, которые подсчитывают записи между определенными датами или подсчитывают записи с определенными флагами, например SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN Flags AS f ON f.FlagId = w.FlagId WHERE w.Date …

4
Уменьшают ли SSD полезность баз данных
Я только слышал о Роберте Мартине сегодня, и кажется, что он является заметной фигурой в мире программного обеспечения, поэтому я не хочу, чтобы мой заголовок выглядел так, как будто это наживка, или я вкладываю слова в его рот, но это просто как я интерпретировал то, что слышал от него, с …

3
MongoDB использует слишком много памяти
Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 3 года назад . Мы используем MongoDB уже несколько недель, общая тенденция, которую мы видели, заключается в том, что mongodb использует слишком много памяти (намного больше, чем весь размер …

2
Почему SELECT * бывают на величины быстрее, чем SELECT foo?
Рассмотрим таблицу значений и хэши, например, так: +------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | val | char(9) | NO | | NULL | | | val_hashed | char(50) …

1
Полезен ли оператор буфера для удаления из кластерного хранилища columns?
Я тестирую удаление данных из кластерного индекса columnstore. Я заметил, что в плане выполнения есть большой нетерпеливый оператор спула: Это завершается следующими характеристиками: Удалено 60 миллионов строк 1.9 GiB TempDB используется Время выполнения 14 минут Серийный план 1 повторная привязка на катушке Ориентировочная стоимость сканирования: 364,821 Если я обманываю оценщика …

3
Почему query_cache_type отключен по умолчанию, начиная с MySQL 5.6?
Мы обновились до MySQL 5.6 и начали видеть, что загрузка db-сервера значительно увеличилась, и, наконец, обнаружили, что query_cache_typeпо умолчанию он выключен с 5.6. Мы включили его снова и видим уменьшение загрузки, почему это значение отключено по умолчанию, начиная с MySQL 5.6? Я не вижу проблемы во включенном.

1
Является ли sys.stats_columns неверным?
Допустим, у меня есть таблица Fooсо столбцами ID1, ID2и составной первичный ключ, определенный поверх ID2, ID1. (В настоящее время я работаю с продуктом System Center, в котором несколько таблиц определены таким образом, а столбцы первичного ключа перечислены в обратном порядке, в котором они отображаются в определении таблицы.) CREATE TABLE dbo.Foo( …

2
Как справиться с неправильным планом запроса, вызванным точным равенством по типу диапазона?
Я выполняю обновление, где мне требуется точное равенство для tstzrangeпеременной. Изменено ~ 1M строк, а запрос занимает ~ 13 минут. Результат EXPLAIN ANALYZEможно увидеть здесь , и фактические результаты чрезвычайно отличаются от тех, которые оцениваются планировщиком запросов. Проблема заключается в том, что при сканировании индекса t_rangeожидается возврат одной строки. Похоже, …

4
Проверка, имеют ли две таблицы одинаковое содержимое в PostgreSQL
Об этом уже спрашивали о переполнении стека , но только для MySQL. Я использую PostgreSQL. К сожалению (и удивительно), PostgreSQL, похоже, не имеет ничего подобногоCHECKSUM table . Решение PostgreSQL было бы хорошо, но общее решение было бы лучше. Я нашел http://www.besttechtools.com/articles/article/sql-query-to-check-two-tables-have-identical-data , но я не понимаю используемую логику. Предыстория: я …

1
Преобразовать все записи столбцов в нижний регистр
Я использую PostgreSQL 9.1 и у меня есть таблица пользователей с loginколонкой. имена входа чувствительны к регистру, например, Bob, MikE, john. Я хотел бы преобразовать все эти записи в нижний регистр. Как я могу это сделать?

2
Пустой процесс блокировки в отчете о заблокированных процессах
Я собираю отчеты о заблокированных процессах с использованием расширенных событий, и по некоторым причинам в некоторых отчетах blocking-processузел пуст. Это полный XML: <blocked-process-report monitorLoop="383674"> <blocked-process> <process id="processa7bd5b868" taskpriority="0" logused="106108620" waitresource="KEY: 6:72057613454278656 (8a2f7bc2cd41)" waittime="25343" ownerId="1051989016" transactionname="user_transaction" lasttranstarted="2017-03-20T09:30:38.657" XDES="0x21f382d9c8" lockMode="X" schedulerid="7" kpid="15316" status="suspended" spid="252" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2017-03-20T09:39:15.853" lastbatchcompleted="2017-03-20T09:39:15.850" lastattention="1900-01-01T00:00:00.850" clientapp="Microsoft …

2
CREATE INDEX vs ALTER TABLE ADD INDEX - MySQLism или стандарт SQL?
Просто натолкнулся на странную проблему, когда в зависимости от того, как я создаю индекс, требуется имя индекса. http://dev.mysql.com/doc/refman/5.5/en/create-index.html http://dev.mysql.com/doc/refman/5.5/en/alter-table.html CREATE INDEX `random_name` ON `my_table` (`my_column`); # Requires an index name ALTER TABLE `my_table` ADD INDEX (`my_column`); # Does not require an index name Мне кажется, что вызов CREATE INDEX не …

2
Почему SQL Server требует, чтобы длина типа данных была одинаковой при использовании UNPIVOT?
При применении UNPIVOTфункции к ненормализованным данным SQL Server требует, чтобы тип данных и длина были одинаковыми. Я понимаю, почему тип данных должен быть одинаковым, но почему UNPIVOT требует одинаковую длину? Допустим, у меня есть следующие примеры данных, которые мне нужно отключить: CREATE TABLE People ( PersonId int, Firstname varchar(50), Lastname …

8
Как запросить базу данных для пустых таблиц
Из-за некоторых «разработчиков», которые работали над нашей системой, у нас были проблемы с пустыми таблицами. Мы обнаружили, что при переносе в облако было скопировано несколько таблиц, но данных в них не было. Я хотел бы выполнить запрос к системным таблицам, чтобы найти, какие пользовательские таблицы пусты. Мы используем MS SQL …

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