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

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

8
В чем разница между «записью» и «строкой» в SQL Server?
Был довольно безобидный вопрос о добавлении даты и времени в SQL Server, который вызвал довольно увлекательные таксономические дебаты. Итак, как мы можем различать эти термины и как мы их правильно используем? Ряд запись

5
Почему ALTER COLUMN в NOT NULL вызывает огромный рост файла журнала?
У меня есть таблица с 64-метровыми строками, занимающая 4,3 ГБ на диске для своих данных. Каждая строка составляет около 30 байтов целочисленных столбцов плюс переменный NVARCHAR(255)столбец для текста. Я добавил столбец NULLABLE с типом данных Datetimeoffset(0). Затем я ОБНОВИЛ этот столбец для каждой строки и убедился, что все новые вставки …

5
Что такое база данных ключей / значений?
Я просматривал страницу Википедии для NoSQL, и там перечислены несколько вариантов базы данных хранилища ключей / значений, но я не могу найти какие-либо подробности о том, что означает хранилище ключей / значений в этом контексте. Может ли кто-нибудь объяснить или связать объяснение со мной? Кроме того, когда я буду использовать …
56 nosql 

13
PostgreSQL не работает на Mac
Ошибка в полном объеме гласит: PSQL: не удалось подключиться к серверу: нет такого файла или каталога. Работает ли сервер локально и принимает подключения через сокет домена Unix "/tmp/.s.PGSQL.5432"? Я второй раз настраиваю Postgresql через Homebrew на моем Mac, и я понятия не имею, что происходит. Раньше это работало. В какой-то …
56 postgresql 

7
Если человека зовут Null, то как он сломает базу данных?
Я читал эту статью на BBC. В ней рассказывается о человеке по имени Дженифер Налл и о том, как она сталкивается с повседневными проблемами при использовании онлайн-баз данных, таких как бронирование авиабилетов, интернет-банкинг и т.д. Я не очень хорошо разбираюсь в базах данных, и я не очень часто этим пользуюсь. …

6
Каковы основные причины тупиков и их можно предотвратить?
Недавно одно из наших приложений ASP.NET показало ошибку взаимоблокировки базы данных, и меня попросили проверить и исправить ошибку. Мне удалось найти причину тупика - хранимой процедуры, которая строго обновляла таблицу внутри курсора. Я впервые вижу эту ошибку и не знаю, как ее эффективно отследить и исправить. Я перепробовал все возможные …

6
Как можно заменить ISNULL () в предложении WHERE, в котором используются только литеральные значения?
Что это не о: Это не вопрос всеобъемлющих запросов, которые принимают пользовательский ввод или используют переменные. Речь идет строго о запросах, которые ISNULL()используются в WHEREпредложении для замены NULLзначений канареечным значением для сравнения с предикатом, а также о различных способах переписывания этих запросов в SARGable в SQL Server. Почему у вас …
55 sql-server 

4
Как запустить psql в Mac OS X?
Я установил PostgreSQL на компьютер с Mac OS X, используя программу установки в один клик . Затем я пытаюсь получить доступ к PostgreSQL с помощью psqlкоманды, но она не доступна. Я получаю это сообщение: psql -bash: psql: command not found Нужно ли устанавливать что-то еще? Или как я могу настроить …


4
Что быстрее, InnoDB или MyISAM?
Как MyISAM может быть «быстрее», чем InnoDB, если MyISAM должен выполнять чтение с диска для данных? InnoDB использует пул буферов для индексов и данных, а MyISAM только для индекса?

3
Когда использовать представления в MySQL?
Когда при создании таблиц из нескольких объединений для использования в анализе предпочтительнее использовать представления, а не создавать новую таблицу? Одна из причин, по которой я предпочел бы использовать представления, заключается в том, что схема базы данных была разработана нашим администратором из Ruby, и я не знаком с Ruby. Я могу …

3
Как вставить строку, содержащую внешний ключ?
Использование PostgreSQL v9.1. У меня есть следующие таблицы: CREATE TABLE foo ( id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY, type VARCHAR(60) NOT NULL UNIQUE ); CREATE TABLE bar ( id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY, description VARCHAR(40) NOT NULL UNIQUE, foo_id BIGINT NOT NULL REFERENCES foo ON DELETE RESTRICT …

2
Как создать Unicode параметры и имена переменных
Все это работает: CREATE DATABASE [¯\_(ツ)_/¯]; GO USE [¯\_(ツ)_/¯]; GO CREATE SCHEMA [¯\_(ツ)_/¯]; GO CREATE TABLE [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯] NVARCHAR(20)); GO CREATE UNIQUE CLUSTERED INDEX [¯\_(ツ)_/¯] ON [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]); GO INSERT INTO [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]) VALUES (N'[¯\_(ツ)_/¯]'); GO CREATE VIEW [¯\_(ツ)_/¯].[vw_¯\_(ツ)_/¯] AS SELECT [¯\_(ツ)_/¯] FROM [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]; GO CREATE PROC [¯\_(ツ)_/¯].[sp_¯\_(ツ)_/¯] @Shrug NVARCHAR(20) AS SELECT [¯\_(ツ)_/¯] …

11
Передача параметров массива в хранимую процедуру
У меня есть процесс, который захватывает кучу записей (1000-х) и оперирует ими, и когда я закончу, мне нужно пометить большое количество их как обработанных. Я могу указать это большим списком идентификаторов. Я пытаюсь избежать шаблона «обновления в цикле», поэтому я хотел бы найти более эффективный способ отправки этого пакета идентификаторов …

2
Как объединить таблицу с табличной функцией?
У меня есть пользовательская функция: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Теперь я хочу присоединиться к этому на другом столе, вот так: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f join ut_FooFunc(f.ID, 1) u -- doesn't work …

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