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

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

2
Як написати запит, який знаходить усі кругові посилання, коли таблиця посилається на себе?
У мене є така схема (імена змінено), яку я не можу змінити: CREATE TABLE MyTable ( Id INT NOT NULL PRIMARY KEY, ParentId INT NOT NULL ); ALTER TABLE MyTable ADD FOREIGN KEY (ParentId) REFERENCES MyTable(Id); Тобто кожен запис є дитиною іншого запису. Якщо запис запису ParentIdдорівнює його Id, то …

2
Як профілювати збережені процедури
Я використовую SQL Server 2012 і цікавився, як профілювати збережені процедури Наприклад, чи може програматор захоплювати кожен окремий оператор SQL у збереженій процедурі, що це таке, і скільки часу потрібно запускати тощо? Я намагаюся діагностувати збережені процедури реплікації злиття, і це повинно бути захоплено частиною повного запуску агента злиття. Здається, …

2
`ПОМИЛКА 1114 (HY000) таблиця… заповнена” з innodb_file_per_table для автоматичного розширення
У мене є база даних MySQL, яка вміщує велику кількість даних (100-200 Гб - купа наукових вимірів). Переважна більшість даних зберігається в одній таблиці Sample. Тепер я створюю реплікову базу даних, і я хотів скористатися перевагами innodb_file_per_tableпід час процесу. Тому я встановив innodb_file_per_tableу моєму настроєному режимі і імпортував дамп бази …

6
Розмір бази даних SQL Server не зменшився після видалення великої кількості рядків.
Це питання було перенесено з Super User, оскільки на нього можна відповісти на сервері обміну стеками адміністраторів баз даних. Мігрували 7 років тому . Я не хороший у SQL, але у мене є база даних, яку потрібно підтримувати. Тут майже не залишилось місця, тому я вирішив видалити всі дані, скажімо, …

2
Як знайти оператори SQL, які викликали зростання tempdb?
Темпдб сервера (SQL Server 2008) збільшується до 500 ГБ + кілька разів щомісяця. Чи можна дізнатися, які оператори SQL викликали цю проблему? Проблема зазвичай не викликана create table #temp...; insert into #temp...або є select ... into #temp...складними приєднаннями. Початковий розмір деяких TempDb файлів також автоматично встановлюється в набагато більших значень …

3
Чи можливо відновити sql-сервер Bak і зменшити журнал одночасно?
У нас є файл Bak від клієнта, який ми передали до наших офісів розробників для розслідування проблем. Наразі резервна копія становить 25 Гб, а відновлена ​​база приблизно однакового розміру, проте для відновлення її потрібно 100 Гб. Я вважаю, це тому, що там створена база даних, що має розмір журналу транзакцій …

3
Що таке рівень ізоляції "Хаос" і коли його слід використовувати?
Документація ADO.NET показує можливість встановлення рівня транзакції транзакції SQL в Хаос. Це звучить неприємно, але якщо функція є, імовірно, вона має деяке законне використання. Команда SET TRANSACTION ISOLATION LEVEL в BOL (ах! Бач, я можу використовувати google та BOL) ніщо не називається "хаосом", а ADO.NET має 5 режимів, які добре …

2
Як знати, коли / якщо у мене занадто багато індексів?
Запуск Microsoft SQL Server Profiler раз у раз пропонує мені створити нові індекси та статистику для створення ("... 97% оцінюється покращення ..."). З мого розуміння, кожен доданий індекс може зробити SELECTзапит SQL швидше, але також UPDATEабо INSERTзапит повільніше, оскільки індекси повинні бути скориговані. Що мені цікаво, коли я маю "занадто …

2
Обробка зростаючої кількості орендарів у архітектурі баз даних багатьох орендарів
Обробка скромної кількості клієнтів (орендарів) на загальному сервері з окремими базами даних для кожного екземпляра програми орендаря є відносно простою і зазвичай це правильний спосіб зробити це. В даний час я розглядаю архітектуру програми, де кожен орендар має власний екземпляр бази даних. Однак проблема полягає в тому, що цей додаток …

2
Як відобразити співвідношення IS-A у базі даних?
Розглянемо наступне: entity User { autoincrement uid; string(20) name; int privilegeLevel; } entity DirectLoginUser { inherits User; string(20) username; string(16) passwordHash; } entity OpenIdUser { inherits User; //Whatever attributes OpenID needs... I don't know; this is hypothetical } Різні типи користувачів (користувачі прямого входу та користувачі OpenID) відображають відносини IS-A; …

6
Як ефективно перевірити EXISTS на кількох стовпцях?
Це питання, з яким я стикаюсь періодично, і поки не знайшов хорошого рішення. Припустимо наступну структуру таблиці CREATE TABLE T ( A INT PRIMARY KEY, B CHAR(1000) NULL, C CHAR(1000) NULL ) і вимога полягає в тому, щоб визначити, чи містить жоден з обнулених стовпців Bчи Cнасправді якісь NULLзначення (і …

7
Будь-який відкритий / безкоштовний ETL там? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для адміністраторів баз даних Stack Exchange. Закрито 4 роки тому . Я використовував інтеграцію даних Pentaho ще до того, як Pentaho купив її і назвав так. У мене остання безкоштовна …
26 etl 

7
Як довгі стовпці впливають на продуктивність та використання диска?
У нашому поточному проекті дуже часто трапляється, що нам потрібно розширити стовпчики на пару символів. Від varchar(20)до varchar(30)і так далі. Справді, наскільки це насправді має значення? Наскільки це оптимізовано? Який вплив просто дозволити 100, 200 або навіть 500 символів для нормальних "вхідних" полів? Електронний лист може мати лише 320 символів, …

1
Індекси: продуктивність від цілого до рядка, якщо кількість вузлів однакове
Я розробляю додаток в Ruby on Rails за допомогою бази даних PostgreSQL (9.4). У моєму випадку використання стовпці в таблицях будуть шукатися дуже часто, оскільки вся точка програми шукає дуже конкретні атрибути на моделі. Наразі я вирішую, чи використовувати integerтип або просто використовувати типовий тип рядка (наприклад character varying(255), типовим …

2
перевиконано час очікування блокування mysql Lock; спробуйте перезапустити транзакцію
ми запускаємо Java-додаток, працюємо на віки, задній кінець - це MySQL, нещодавно оновлений до mysql 5.6. Все пройшло нормально, минулий тиждень почав отримувати цю помилку Час очікування очікування блокування перевищено; спробуйте перезапустити транзакцію, схожу на те, що ніколи не припиняється, не знаю, що робити з цією помилкою, щоб зупинити. чому …
26 mysql  mysql-5.6 

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