Случайные статьи
| Общая информация » Внешние ключи |
1.9.4.5 Внешние ключи
Следует учитывать, что в SQL внешние ключи используются не для объединения таблиц, а главным образом для проверки целостности ссылочных данных (ограничения внешних ключей). Если необходимо получить результаты из большого количества таблиц от команды SELECT, следует делать это через объединение таблиц:
SELECT * FROM table1,table2 WHERE table1.id = table2.id;
|
|
теги: SQL, DELETE |
| |
| Интерфейсы для MySQL » mysql_fetch_row() |
8.4.3.80 mysql_fetch_row()
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
8.4.3.81 Описание
Извлекает следующую строку в результирующем наборе данных. При использовании после функции mysql_store_result() функция mysql_fetch_row() возвращает NULL, если больше не осталось строк для извлечения. При использовании после функции mysql_use_result() функция mysql_fetch_row() возвращает NULL, если больше не осталось строк для извлечения или если произошла ошибка. |
|
теги: NULL |
| |
| Оптимизация в MySQL » Вопросы блокирования таблиц |
5.3.2 Вопросы блокирования таблиц
Код блокирования таблиц в MySQL не создает тупиковых ситуаций.
Чтобы получить высокую скорость блокирования, в MySQL на таблицах всех типов, кроме InnoDB и BDB,используется табличная блокировка (вместо блокирования строк или столбцов). Если таблицы большие, то для большинства приложений табличная блокировка намного лучше, чем строковая, но существуют, конечно, и определенные подводные камни. |
|
теги: MySQL, BDB |
| |
| Интерфейсы для MySQL » mysql_select_db() |
8.4.3.197 mysql_select_db()
int mysql_select_db(MYSQL *mysql, const char *db)
8.4.3.198 Описание
Устанавливает базу данных, указанную в db, в качестве текущей базы данных по умолчанию для соединения, указанного в mysql. В последующих запросах эта база данных является текущей по умолчанию для табличных ссылок, которые не содержат явного указателя базы данных. |
|
теги: SERVER |
| |
| Проблемы и распространенные ошибки » Где MySQL хранит временные файлы |
A.4.4 Где MySQL хранит временные файлы
Переменная окружения TMPDIR содержит полное имя каталога, в котором в MySQL хранит временные файлы. Если TMPDIR не установлена, то MySQL использует каталог, заданный в системе по умолчанию (обычно это `/tmp' или `/usr/tmp'). Если файловая система, в которой находится каталог временных файлов, слишком мала, то следует, отредактировав safe_mysqld, присвоить TMPDIR значение, указывающее на каталог в "более просторной" файловой системе! Временный каталог можно также задавать с помощью опции --tmpdir к mysqld. |
|
теги: mysqld, SELECT |
| |
| Справочник по языку MySQL » Синтаксис оператора DROP DATABASE |
6.5.2 Синтаксис оператора DROP DATABASE
DROP DATABASE [IF EXISTS] db_name
Оператор DROP DATABASE удаляет все таблицы в указанной базе данных и саму базу. Если вы выполняете DROP DATABASE на базе данных, символически связанной с другой, то удаляется как ссылка, так и оригинальная база данных. Будьте ОЧЕНЬ внимательны при работе с этой командой!
Оператор DROP DATABASE возвращает количество файлов, которые были удалены из директории базы данных. Как правило, это число равно количеству таблиц, умноженному на три, поскольку обычно каждая таблица представлена тремя файлами - `.MYD'-файлом, `MYI'-файлом и `.frm'-файлом. |
|
теги: DROP |
| |
| Администрирование баз данных » Синтаксис запуска myisamchk |
4.4.6.1 Синтаксис запуска myisamchk
myisamchk запускается следующим образом:
shell> myisamchk [options] tbl_name
Опции options определяют, что должна сделать myisamchk. В данном разделе дается описание этих опций (список опций можно также получить, запустив myisamchk --help). Если опции не указаны, myisamchk просто проверяет таблицу. Чтобы получить дополнительную информацию или указать myisamchk выполнить корректирующие действия, надо задать опции, как это описано в этом и в следующих разделах. |
|
теги: MySQL |
| |
| Интерфейсы для MySQL » mysql_num_rows() |
8.4.3.155 mysql_num_rows()
my_ulonglong mysql_num_rows(MYSQL_RES *result)
8.4.3.156 Описание
Возвращает количество строк в результирующем наборе.
Использование функции mysql_num_rows() зависит от того, какая функция - mysql_store_result() или mysql_use_result() применяется для возвращения результирующего набора. |
|
теги: mysql |
| |
| Оптимизация в MySQL » Как MySQL оптимизирует DISTINCT |
5.2.5 Как MySQL оптимизирует DISTINCT
DISTINCT преобразовывается к GROUP BY для всех столбцов, для DISTINCT в сочетании с ORDER BY, помимо этого, во многих случаях также требуется временная таблица.
Если LIMIT # указывается совместно с DISTINCT, MySQL остановится, как только найдет # уникальных строк. |
|
теги: DISTINCT, MySQL |
| |
| Общая информация » Тестирование скорости работы MySQL и PostgreSQL |
1.11.2.3 Тестирование скорости работы MySQL и PostgreSQL
Единственная тестовая система с открытым кодом, способная тестировать скорость работы как MySQL Server, так и PostgreSQL (а также других СУБД), о существовании которой нам известно, - наша собственная разработка. Ее можно найти по адресу http://www.mysql.com/information/benchmarks.html.
Мы много раз просили разработчиков PostgreSQL и некоторых пользователей PostgreSQL помочь нам расширить эту систему и превратить ее в совершенный инструмент тестирования скорости работы СУБД, но, к сожалению, безрезультатно. |
|
теги: MySQL, PostgreSQL |
| |
| Администрирование баз данных » Другие опции для myisamchk |
4.4.6.5 Другие опции для myisamchk
Кроме ремонта и проверки таблиц, myisamchk может выполнять другие операции:
-a или --analyze
Анализировать распределение ключей. Улучшает эффективность операции связывания за счет включения оптимизатора связей. Он обеспечивает лучший порядок связывания таблиц и определяет, какие ключи при этом следует использовать: myisamchk --describe --verbose table_name или посредством SHOW KEYS в MySQL. |
|
теги: MySQL, INCREMENT |
| |
| Проблемы и распространенные ошибки » Не найден файл (File not found) |
A.2.16 Не найден файл (File not found)
Получение от MySQL ERROR '...' not found (errno: 23), Can't open file: ... (errno: 24), или любой другой ошибки с номером 23 или 24 означает, что для MySQL выделено недостаточно файловых дескрипторов. Можно использовать утилиту perror для получения описания ошибки с определенным номером:
shell> perror 23
File table overflow
shell> perror 24 |
|
теги: shell |
| |
| Администрирование баз данных » Имена пользователей MySQL и пароли |
4.3.2 Имена пользователей MySQL и пароли
Между MySQL и Unix или Windows существует несколько различий в использовании имен пользователей и паролей:
Имена пользователей, которые применяются в MySQL для авторизации, не имеют ничего общего с именами пользователей Unix (аккаунты Unix) или именами пользователей Windows. Большинство клиентов MySQL по умолчанию пытаются войти в систему, используя текущее имя пользователя Unix в качестве имени пользователя MySQL, но это сделано только для удобства. |
|
теги: Unix, MySQL |
| |
| Учебное пособие по MySQL » Использование внешних ключей |
3.5.6 Использование внешних ключей
В MySQL 3.23.44 и выше в таблицах InnoDB осуществляется проверка ограничений целостности внешних ключей (обратитесь к разделам section 7.5 Таблицы InnoDB и section 1.9.4.5 Внешние ключи). |
|
теги: MySQL |
| |
| Общая информация » Оператор SELECT INTO TABLE |
1.9.4.2 Оператор SELECT INTO TABLE
Для сервера MySQL пока не реализована поддержка расширения Oracle SQL: SELECT ... INTO TABLE .... Вместо этого сервер MySQL поддерживает синтаксис ANSI SQL INSERT INTO ... SELECT ..., который, по существу, представляет собой то же самое (see section 6.4.3.1 Синтаксис оператора INSERT ... SELECT). |
|
теги: SELECT, MySQL |
| |
| Справочник по языку MySQL » Синтаксис оператора CREATE TABLE |
6.5.3 Синтаксис оператора CREATE TABLE
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options] [select_statement]
create_definition:
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY] [reference_definition]
или PRIMARY KEY (index_col_name,...)
или KEY [index_name] (index_col_name,...)
или INDEX [index_name] (index_col_name,...)
или UNIQUE [INDEX] [index_name] (index_col_name,...)
или FULLTEXT [INDEX] [index_name] (index_col_name,...)
или [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) |
|
теги: CREATE, SET |
| |
|
|