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

Питання та відповіді для професіоналів баз даних, які бажають покращити свої навички роботи з базами даних та дізнатися від інших у спільноті

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, …

1
Чи корисний оператор зворотної котушки для цього видалення з кластерного стовпчика?
Я тестую видалення даних із кластерного індексу стовпців стовпців. Я помітив, що в плані виконання є великий нетерплячий оператор котушки: Це доповнює наступні характеристики: Видалено 60 мільйонів рядків 1,9 GiB використовується TempDB Час виконання 14 хвилин Серійний план 1 перемотка на котушку Орієнтовна вартість сканування: 364.821 Якщо я обману оцінювача …

3
MongoDB використовує занадто багато пам'яті
Ми використовуємо MongoDB вже декілька тижнів, загальна тенденція, яку ми бачили, полягає в тому, що mongodb використовує занадто багато пам'яті (набагато більше, ніж весь розмір його набору даних + індекси). Я вже читав це питання і це питання , але, здається, ніхто не вирішує питання, з яким я стикався, вони …

4
Чи знижують SSD-диски корисність баз даних
Я чув лише про Роберта Мартіна сьогодні, і, схоже, він помітний діяч у світі програмного забезпечення, тому я не маю на увазі, щоб моя назва з'явилася так, ніби це наживка на клацання або я вкладаю слова в рот, але це просто як я інтерпретував те, що чув від нього своїм …

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 >= …

3
Чому query_cache_type відключено за замовчуванням, починаючи з MySQL 5.6?
Ми оновили MySQL 5.6 і почали бачити, що завантаження db-сервера значно збільшилося, і, нарешті, з'ясували, що query_cache_typeдефолт починається з 5.6. Ми ввімкнули його знову і побачимо зменшення завантаження, чому це значення відключається за замовчуванням, починаючи з MySQL 5.6? Я не можу побачити проблему в її включеній.

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) | …

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 Dynamics AX" …

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

1
Чи неправильно стовпці sys.stats_collets?
Скажімо, у мене є таблиця Fooзі стовпцями ID1, ID2та складеним первинним ключем ID2, ID1. (Зараз я працюю з продуктом System Center, який має декілька таблиць, визначених таким чином, із стовпцями первинного ключа, переліченими у зворотному порядку, вони відображаються у визначенні таблиці.) CREATE TABLE dbo.Foo( ID1 int NOT NULL, ID2 int …

3
виберіть рядки, де стовпець містить однакові дані у більш ніж одному записі
У мене є таблиця з стовпчиком, що називається article_title. Скажімо, назва таблиці є articles. Мені потрібно з’ясувати записи, де article_titleдані однакові для кількох записів. Ось що я маю: select a.* from articles a where a.article_title = (select article_title from articles where article_title = a.article_title AND a.id <> articles.id)

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

2
СТВОРИТИ ІНДЕКСУ ПРО ВІДКЛЮЧЕННЯ ТАБЛИЦІ ДОДАТИ ІНДЕКС - MySQLism або SQL Standard?
Щойно натрапив на дивну проблему, згідно з якою залежно від того, як я створюю індекс, потрібно вказати ім’я індексу. http://dev.mysql.com/doc/refman/5.5/uk/create-index.html http://dev.mysql.com/doc/refman/5.5/uk/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 …


2
Чому SQL Server вимагає, щоб довжина типу даних була однаковою при використанні UNPIVOT?
Застосовуючи UNPIVOTфункцію до даних, які не нормалізуються, SQL Server вимагає, щоб тип даних і довжина були однаковими. Я розумію, чому тип даних повинен бути однаковим, але чому UNPIVOT вимагає, щоб довжина була однаковою? Скажімо, у мене є такі зразкові дані, які мені потрібно скасувати: CREATE TABLE People ( PersonId int, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.