Документация MySQL

17.02.2008

, если длина результата оказывается
больше, чем указано в значении серверного параметра
.
See section
.
Для функций, работающих с позициями в строке, нумерация позиций начинается
с 1.
, если
См. также функцию
.
представляет собой многобайтный
символ, то данная функция возвращает его код, который вычисляется на
основе ASCII-кодов составляющих его символов по формуле: ((первый байт
ASCII-кода)*256+(второй байт ASCII-кода))[*256+третий байт ASCII-кода...].
Если крайний слева символ не является многобайтным, то данная функция
возвращает то же значение, что и ASCII():
CONV(N,from_base,to_base)
Преобразует числа из одной системы счисления в другую. Возвращает
строковое представление числа
, преобразованного из системы счисления с
основой
. Если хотя бы один
из аргументов равен
, то возвращается
. Аргумент
интерпретируется как целое число, но может быть задан как целое число или
строка. Минимальное значение основы системы счисления равно
, а
максимальное -
. Если аргумент
представлен отрицательным числом,
то принимается, что
- число со знаком. В противном случае
трактуется
как беззнаковое число. Функция
mysql> SELECT CONV("a",16,2);
-> '1010'
mysql> SELECT CONV("6E",18,8);
-> '172'
mysql> SELECT CONV(-17,10,-18);
-> '-H'
mysql> SELECT CONV(10+"10"+'10'+0xa,10,10);
-> '40'
Возвращает строку, представляющую двоичную величину
, где
). Эквивалентна функции
CONV(N,10,2)
. Если
, возвращается
, где
-
целое число большого размера. Эквивалентно функции
CONV(N,10,8)
. Если
, возвращается
- число, то возвращается строковое представление
шестнадцатеричного числа
, где
).
Эквивалентна функции
CONV(N,10,16)
. Если
- строка, то функция
возвращает шестнадцатеричную строку
, где каждый символ в
конвертируется в 2 шестнадцатеричных числа. Является обратной по отношению
к строкам
.
CHAR(N,...)
интерпретирует аргументы как целые числа и возвращает строку,
состоящую из символов, соответствующих ASCII-коду этих чисел. Величины
mysql> SELECT CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> SELECT CHAR(77,77.3,'77.3');
-> 'MMM'
CONCAT(str1,str2,...)
Возвращает строку, являющуюся результатом конкатенации аргументов. Если
хотя бы один из аргументов равен
, возвращается
. Может принимать
более 2 аргументов. Числовой аргумент преобразуется в эквивалентную
строковую форму:
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
CONCAT_WS(separator, str1, str2,...)
.
Первый аргумент является разделителем для остальных аргументов.
Разделитель, так же как и остальные аргументы, может быть строкой. Если
разделитель равен
, то результат будет
. Данная функция будет
пропускать все величины
и пустые строки, расположенные после
аргумента-разделителя. Разделитель будет добавляться между строками,
подлежащими конкатенации:
mysql> SELECT CONCAT_WS(",","First name","Second name","Last Name");
-> 'First name,Second name,Last Name'

mysql> SELECT CONCAT_WS(",","First name",NULL,"Last Name");
-> 'First name,Last Name'
многобайтные
символы учитываются только однажды.
LOCATE(substr,str)
. Если
подстрока substr в строке
отсутствует, возвращается
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
Данная функция поддерживает многобайтные величины. В MySQL 3.23 эта
функция чувствительна к регистру, а в 4.0 она чувствительна к регистру
только в случае, если хотя бы один из аргументов является строкой с
двоичными данными.
LOCATE(substr,str,pos)
,
начиная с позиции
. Если подстрока
отсутствует,
возвращается
mysql> SELECT LOCATE('bar', 'foobarbar',5);
-> 7
Данная функция поддерживает многобайтные величины. В MySQL 3.23 эта
функция чувствительна к регистру, а в 4.0 она чувствительна к регистру,
только в случае, если хотя бы один из аргументов является строкой с
двоичными данными.
INSTR(str,substr)
. То же,
что и двухаргументная форма функции
, за исключением перемены мест
аргументов:
mysql> SELECT INSTR('foobarbar', 'bar');
-> 4

mysql> SELECT INSTR('xbar', 'foobar');
-> 0
Данная функция поддерживает многобайтные величины. В MySQL 3.23 эта
функция чувствительна к регистру, а в 4.0 она чувствительна к регистру
только в случае, если хотя бы один из аргументов является строкой с
двоичными данными.
LPAD(str,len,padstr)
, которая дополняется слева строкой
, пока
строка
символов. Если строка
длиннее, чем
, то она будет укорочена до
символов.
mysql> SELECT LPAD('hi',4,'??');
-> '??hi'
RPAD(str,len,padstr)
, которая дополняется справа строкой
, пока
строка
символов. Если строка
длиннее, чем
, то она будет укорочена до
символов.
mysql> SELECT RPAD('hi',5,'?');
-> 'hi???'
LEFT(str,len)
mysql> SELECT LEFT('foobarbar', 5);
-> 'fooba'
Данная функция поддерживает многобайтные величины.
RIGHT(str,len)
mysql> SELECT RIGHT('foobarbar', 4);
-> 'rbar'
Данная функция поддерживает многобайтные величины.
SUBSTRING(str,pos,len)
MID(str,pos,len)
, начиная от позиции
. Существует форма с оператором
, для которой используется
синтаксис ANSI SQL92:
mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'
Данная функция поддерживает многобайтные величины.
SUBSTRING(str,pos)
, начиная с позиции
mysql> SELECT SUBSTRING('Quadratically',5);
-> 'ratically'

mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
Данная функция поддерживает многобайтные величины.
SUBSTRING_INDEX(str,delim,count)
. Если
положителен, то возвращается все, что
находится слева от последнего разделителя (считая слева). Если
отрицателен, то возвращается все, что находится справа от последнего
разделителя (считая справа):
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
Данная функция поддерживает многобайтные величины.
Данная функция поддерживает многобайтные величины.
Данная функция поддерживает многобайтные величины.
с удаленными всеми префиксами и/или суффиксами,
указанными в
. Если не указан ни один из спецификаторов
,
, то подразумевается
. Если аргумент
не
задан, то удаляются пробелы:
Данная функция поддерживает многобайтные величины.
Возвращает саундекс от str.
Soundex - ''идентификатор звучания строки''. Словосочетания
''К скалам бурым'' и ''С каламбуроми'' должны давать одинаковый
саундекс, т.к. на слух они звучат одинаково. Заметим, однако,
что этой функции для русского языка не существует. MySQL нуждается
в ней, и если кто-то может предоставить алгоритм саундекса на русском
языке - свяжитесь с нами. - Прим. переводчика.
Две созвучные строки, создающие впечатление почти одинаковых, могут иметь
идентичные саундексы. Обычно стандартная саундекс-строка имеет длину 4
символа, но функция
возвращает строку произвольной длины. Можно
использовать функцию
. В строке
игнорируются все
символы, не являющиеся буквами или цифрами. Все международные буквенные
символы, не входящие в диапазон
, трактуются как гласные:
Возвращает строку, состоящую из
REPLACE(str,from_str,to_str)
, в которой все вхождения строки
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
Данная функция поддерживает многобайтные величины.
REPEAT(str,count)
Возвращает строку, состоящую из строки
, повторенной
раз. Если
значение
, возвращает пустую строку. Возвращает
, если
mysql> SELECT REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
Данная функция поддерживает многобайтные величины.
INSERT(str,pos,len,newstr)
, в которой подстрока начиная с позиции
, имеющая
длину
mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
Данная функция поддерживает многобайтные величины.
ELT(N,str1,str2,str3,...)
, если
,
, если
, и так далее. Если
меньше,
чем
или больше, чем число аргументов, возвращается
. Функция
mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'

mysql> SELECT ELT(4, 'ej', 'Heja', 'hej', 'foo');
-> 'foo'
FIELD(str,str1,str2,str3,...)
str1, str2, str3, ...
. Если строка
не найдена, возвращается
. Функция
mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 2

mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 0
FIND_IN_SET(str,strlist)
, если строка
, состоящем из
подстрок. Список строк представляет собой строку,
состоящую из подстрок, разделенных символами
','
. Если первый аргумент
представляет собой строку констант, а второй является столбцом типа
,
функция
оптимизируется для использования двоичной
арифметики! Возвращает
, если
является пустой строкой. Если один из аргументов равен
,
возвращается
. Данная функция не будет корректно работать, если первый
аргумент содержит символ
','
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
MAKE_SET(bits,str1,str2,...)
Возвращает множество (строку, содержащую подстроки, разделенные символами
','
), состоящее из строк, имеющих соответствующий бит в наборе
.
Аргумент
,
, и так далее. Нулевые
строки в наборах
,
,
...
mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'

mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'

mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
EXPORT_SET(bits,on,off,[separator,[number_of_bits]])
Возвращает строку, где для каждому установленному биту в аргументе
, а каждому сброшенному биту -
.
Каждая строка отделена разделителем, указанным в параметре
','
), причем используется только количество битов, заданное
аргументом
(по умолчанию 64), из всего количества,
указанного в
mysql> SELECT EXPORT_SET(5,'Y','N',',',4)
-> Y,N,Y,N
, в которой все символы переведены в нижний регистр
в соответствии с текущей установкой набора символов (по умолчанию -
ISO-8859-1 Latin1):
Данная функция поддерживает многобайтные величины.
, в которой все символы переведены в верхний регистр
в соответствии с текущей установкой набора символов (по умолчанию -
ISO-8859-1 Latin1):
Данная функция поддерживает многобайтные величины.
Читает заданный файл и возвращает его содержимое в виде строки. Данный
файл должен находится на сервере, должен быть указан полный путь к этому
файлу и пользователь должен обладать привилегией
. Размер данного
файла должен быть меньше указанного в
и файл должен
быть открыт для чтения для всех. Если файл не существует или не может быть
прочитан по одной из вышеупомянутых причин, то функция возвращает
При использовании версии MySQL, отличной от 3.23 и 4.0, чтение файла
необходимо выполнять внутри вашего приложения и использовать команду
для внесения в базу данных информации, содержащейся в файле. Один
из путей реализации этого с использованием библиотеки
можно найти
на .
mysql> SELECT 1+"1";
-> 2

mysql> SELECT CONCAT(2,' test');
-> '2 test'
Для преобразования числа в строку явным образом, необходимо передать его в
качестве аргумента функции
.
Если строковая функция содержит в качестве аргумента строку с двоичными
данными, то и результирующая строка также будет строкой с двоичными
данными. При этом число, конвертированное в строку, воспринимается как
строка с двоичными данными. Это имеет значение только при выполнении
операций сравнения.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.

Документация MySQL

17.02.2008

отображает значения некоторых системных переменных
MySQL. Такую же информацию можно получить и при помощи команды
. Если установленные по умолчанию значения вам не подходят,
большинство из этих переменных можно задать, используя параметры командной
строки при запуске
. See section
.
+------------------------------+---------------------------+
| Variable_name | Value |
+------------------------------+---------------------------+
| ansi_mode | OFF |
| back_log | 50 |
| basedir | /my/monty/ |
| bdb_cache_size | 16777216 |
| bdb_log_buffer_size | 32768 |
| bdb_home | /my/monty/data/ |
| bdb_max_lock | 10000 |
| bdb_logdir | |
| bdb_shared_data | OFF |
| bdb_tmpdir | /tmp/ |
| binlog_cache_size | 32768 |
| concurrent_insert | ON |
| connect_timeout | 5 |
| datadir | /my/monty/data/ |
| delay_key_write | ON |
| delayed_insert_limit | 100 |
| delayed_insert_timeout | 300 |
| delayed_queue_size | 1000 |
| flush | OFF |
| flush_time | 0 |
| ft_min_word_len | 4 |
| ft_max_word_len | 254 |
| ft_max_word_len_for_sort | 20 |
| ft_boolean_syntax | + -><()~* |
| have_bdb | YES |
| have_innodb | YES |
| have_raid | YES |
| have_openssl | NO |
| init_file | |
| interactive_timeout | 28800 |
| join_buffer_size | 131072 |
| key_buffer_size | 16776192 |
| language | /my/monty/share/english/ |
| large_files_support | ON |
| log | OFF |
| log_update | OFF |
| log_bin | OFF |
| log_slave_updates | OFF |
| long_query_time | 10 |
| low_priority_updates | OFF |
| lower_case_table_names | 0 |
| max_allowed_packet | 1048576 |
| max_binlog_cache_size | 4294967295 |
| max_connections | 100 |
| max_connect_errors | 10 |
| max_delayed_threads | 20 |
| max_heap_table_size | 16777216 |
| max_join_size | 4294967295 |
| max_sort_length | 1024 |
| max_tmp_tables | 32 |
| max_write_lock_count | 4294967295 |
| myisam_bulk_insert_tree_size | 8388608 |
| myisam_recover_options | DEFAULT |
| myisam_sort_buffer_size | 8388608 |
| net_buffer_length | 16384 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| open_files_limit | 0 |
| pid_file | /my/monty/data/donna.pid |
| port | 3306 |
| protocol_version | 10 |
| record_buffer | 131072 |
| query_buffer_size | 0 |
| query_cache_limit | 1048576 |
| query_cache_size | 16768060 |
| query_cache_startup_type | 1 |
| safe_show_database | OFF |
| server_id | 0 |
| skip_locking | ON |
| skip_networking | OFF |
| skip_show_database | OFF |
| slow_launch_time | 2 |
| socket | /tmp/mysql.sock |
| sort_buffer | 2097116 |
| table_cache | 64 |
| table_type | MYISAM |
| thread_cache_size | 4 |
| thread_stack | 65536 |
| tmp_table_size | 1048576 |
| tmpdir | /tmp/ |
| version | 3.23.29a-gamma-debug |
| wait_timeout | 28800 |
+------------------------------+---------------------------+
Ниже описаны все параметры. Значения размеров буферов, длины и размеры
стеков приведены в байтах. Значения можно указать с суффиксом
,
чтобы обозначить килобайты или мегабайты. Например,
мегабайт. Регистр буквы суффикса не имеет значения,
.

Имеет значение
, если
. See section
.
Количество поддерживаемых MySQL запросов на соединение,
находящихся в очереди. Этот параметр начинает играть роль, когда
главный поток MySQL получает очень много запросов на соединение за
короткий промежуток времени. У главного потока уходит некоторое время
(хотя очень небольшое) на проверку соединения и запуск нового потока.
Значение
показывает, сколько запросов может находиться в
очереди на этом коротком промежутке времени, прежде чем MySQL
прекратит отвечать на новые запросы. Данное значение необходимо
увеличить только в том случае, если ожидается большое количество
соединений на протяжении короткого промежутка времени. Иначе говоря,
это значение является размером очереди ожидания входящих соединений
TCP/IP. У вашей операционной системы есть свое собственное ограничение
на размер этой очереди. За более подробной информацией обращайтесь на
страницу руководства ОС Unix по системному вызову
. Чтобы
узнать максимальное значение для этой переменной, обратитесь к
документации по своей операционной системе. Попытка установить
значение
выше, чем допускается в вашей операционной системе,
не принесет положительного результата.
.
Буфер, выделенный для индекса кэша и строк таблиц
.
Если таблицы
не используются, необходимо запустить
, чтобы не расходовать память на этот кэш.
Буфер, выделенный для индекса кэша и строк таблиц
. Если таблицы
не используются, его значение необходимо
установить в 0 или запустить
, чтобы не
расходовать память на этот кэш.
.
Максимальное количество блокировок (по умолчанию 1000),
которые можно установить на таблицу
. Этот параметр необходимо
увеличить, если возникают ошибки типа
Got error 12 from ...
должен просмотреть много строк для
вычисления запроса.
.
, если используется параметр
.
.
.

Размер кэша для хранения операторов бинарного
журнала SQL во время транзакции. Если часто используются большие
транзакции со значительным количеством операторов, то в целях
повышения производительности значение этого параметра можно увеличить.
See section
.
Принятый по умолчанию набор символов.
Поддерживаемые наборы символов.
(принятое по
умолчанию), MySQL обеспечивает возможность использовать команду
. Этот параметр можно отключить, запустив
.
Количество времени в секундах, на протяжении которого
сервер
ожидает поступления пакета соединения, после чего
генерирует
.
.
Если включен (по умолчанию - включен), MySQL будет
учитывать параметр
TABLE. Это
означает, что ключевой буфер таблиц с данным параметром будет
сбрасываться на диск не при каждом обновлении индексов, а только при
закрытии таблицы. Такой режим работы значительно ускоряет запись
ключей, однако в случае использования данного параметра необходимо
будет также добавить автоматическую проверку всех таблиц при помощи
. Обратите внимание: если запустить
, то все таблицы будут
обрабатываться таким образом, как будто они были созданы с применением
параметра
. Этот флаг можно снять, запустив
.
проверит, остались ли незавершенные
операторы
. Если да, то перед тем, как приступить к выполнению
следующих действий, они будут выполнены.
Временной промежуток, в течение которого
процесс
до прекращения
выполнения задачи.
Размер очереди (в строках), который должен быть
назначен для обработки команды
. При переполнении
очереди все клиенты, выполняющие команду
, будут
ожидать, пока в очереди снова появится свободное место.
, если вы запустили MySQL с
параметром
.
Если значение этой переменной отличается от нуля, то каждые
секунд все таблицы будут закрываться (чтобы освободить
ресурсы и записать информацию на диск). Мы рекомендуем использовать
этот параметр только для Windows 9x/Me или на системах с ограниченным
количеством ресурсов.
Минимальная длина слова, включаемого в индекс
.
после изменения этой
переменной должны быть скомпонованы заново (это новый параметр в MySQL
4.0)
.
Максимальная длина слова, включаемого в индекс
.
после изменения этой переменной
должны быть скомпонованы заново (это новый параметр в MySQL 4.0)
.
,
TABLE. Более длинные слова
вставляются дольше. При увеличении значения
MySQL
будет создавать временные файлы большего размера (таким образом будет
замедляться работа из-за возрастания нагрузки на порт ввода/вывода
диска), а также будет помещать меньше ключей в один блок сортировки
(что, опять же, способствует снижению производительности). Если
значение переменной
слишком мало, MySQL будет
вставлять большое количество слов достаточно медленно, но короткие
слова будут вставляться очень быстро.
Список операторов, поддерживаемых командой
MATCH ...
AGAINST(... IN BOOLEAN MODE)
. See section
.
, если
. Значение
, если используется параметр
.
, если
.
Значение
, если используется параметр
.
, если
.
, если
поддерживает SSL (шифрование) в
протоколе клиент/сервер.
Имя файла, указанного при помощи параметра
при
запуске сервера. Это файл операторов SQL, которые сервер должен
выполнить при запуске.
Количество времени в секундах, на протяжении
которого сервер ожидает активности со стороны интерактивного
соединения, прежде чем закрыть его. Интерактивный клиент - это клиент,
который использует параметр
(). См. также информацию по
.
Размер буфера, используемого для полных объединений
(объединения, в которых не применяются индексы). Буфер выделяется один
раз для каждого полного объединения двух таблиц. Если нужно ускорить
полное объединение и невозможно добавить индексы, следует увеличить
это значение (обычно добавление индексов является лучшим способом
добиться быстрых объединений).
Блоки индексов буферизированы и доступ к ним разрешен
всем потокам.
- размер буфера, используемого для
блоков индексов. Чтобы улучшить обработку индексов (для всех операций
чтения и записи нескольких элементов), необходимо увеличить это
значение настолько, насколько возможно. Размер 64 Мб для компьютера с
256 Мб (именно такой компьютер в основном используется для работы с
MySQL) - довольно распространенная конфигурация. Тем не менее, если
задать слишком большое значение (например, больше 50% от общего
количества памяти), система может начать сохранять временные файлы на
диске, что значительно снизит производительность. Помните, что,
поскольку MySQL не производит кэширования считываемых данных, нужно
оставлять определенное пространство для кэша файловой системы
операционной системы. Производительность буфера ключей можно
проверить, выполнив команду
,
,
.
Отношение значений
обычно должно быть <
0,01. Отношение
примерно равно 1, если в
основном используются обновления/удаления, но может быть и меньше,
если чаще используются обновления сразу многих элементов или если
. See section
. Чтобы еще больше увеличить
скорость при одновременной записи большого количества строк,
используйте команду
. See section
.
Язык, используемый для вывода сообщений об ошибках.
был откомпилирован с параметрами для
поддержки больших файлов.
Если включено занесение в журнал всех запросов.
Если включен журнал обновлений.
Если включен бинарный журнал.
Если обновления от подчиненного компьютера должны
заноситься в журнал.
Если обработка запроса отнимает больше указанного
промежутка времени (в секундах), значение счетчика
будет
увеличено. Если используется параметр
, запрос будет
записан в журнал медленных запросов. See section
.
Если установлено значение 1, имена таблиц будут
сохранятся на диск с использованием строчных букв, а имена таблиц не
будут чувствительны к регистру. See section
.
Максимальный размер одного пакета. Изначально
размер буфера сообщений устанавливается в
байтов, но
при необходимости может возрасти до
байтов. Это
значение по умолчанию не настолько велико, чтобы отсеивать большие
(возможно ошибочные) пакеты. Если используются большие столбцы
,
его необходимо увеличить. Значение должно быть не меньше самого
большого
, который будет использоваться. Ограничение протокола для
составляет 16 Мб в MySQL 3.23 и 2Гб в MySQL 4.0.
Если для транзакции с большим количеством
операторов потребуется большее количество памяти, чем указано этим
параметром, будет выдано сообщение об ошибке "Multi-statement
transaction required more than 'max_binlog_cache_size' bytes of
storage" (для транзакции с большим количеством операторов требуется
больше, чем 'max_binlog_cache_size' байтов для хранения).
Доступно после версии 3.23.33. Если запись в бинарный
журнал (репликация) превысит данное значение, производится ротация
журнала. Нельзя установить значение, меньшее, чем 1024 байта или
большее, чем 1 Гб. По умолчанию установлено значение 1 Гб.
Разрешенное количество одновременно подсоединенных
клиентов. Увеличение этого значения увеличивает количество
дескрипторов файлов, необходимых для
. Ниже приведены примечания
по ограничениям для дескрипторов. See section
.
Если количество прерванных соединений с удаленным
компьютером превышает это число, дальнейшие попытки удаленного
компьютера установить соединение будут заблокированы. Блокировку с
удаленного компьютера можно снять при помощи команды
.
Не запускайте больше потоков, чем указано здесь,
для обработки операторов
. Если попытаться вставить
данные в новую таблицу, когда все потоки
заняты, строка
будет вставлена таким образом, как будто атрибут
не был
указан.
Не позволяет создавать динамические таблицы,
размер которых превышает указанное значение.
Объединения, которые потенциально могут считывать более
записей, будут возвращать ошибку. Это значение нужно
задавать, если ваши пользователи осуществляют объединения, которым
недостает оператора
, - такие объединения занимают много
времени, а затем возвращают миллионы строк.
Параметр определяет, сколько байтов следует
использовать при сортировке значений
байтов каждого значения, остальные
игнорируются).
Максимальное количество активных соединений для
одного пользователя (0 = без ограничений).
(Этот параметр пока ни на что не влияет.) Максимальное
количество временных таблиц, которые клиент может открывать
одновременно.
После данного количества блокирования записей
разрешается выполнить между ними несколько блокировок чтения.
В MySQL используется специальный
древовидный кэш, чтобы быстрее производить групповые вставки (например
INSERT ... SELECT
,
INSERT ... VALUES (...), (...), ...
). Данная переменная ограничивает размер дерева кэша в байтах на
поток. Если установить значение в 0, то оптимизация будет отключена.
Примечание : этот кэш используется только для добавления данных к
таблицам, которые уже содержат определенную информацию. По умолчанию
установлено значение 8 Мб.
.
Буфер, который выделяется для сортировки
индексов при выполнении команды
.
.

Если размер временного файла,
используемого для быстрого создания индексов, превышает на указанный
здесь объем используемый кэш ключей, то лучше отдать предпочтение
методу кэша ключей. Такой метод применяется для того, чтобы для
больших ключей символов в больших таблицах использовался более
медленный метод кэширования ключей при создании таблиц.
Обратите внимание : значение этого параметра задается в мегабайтах!
Максимальный размер временного файла,
который в MySQL может использоваться при восстановлении индекса (во
время работы команд
,
). Для
файлов, размер которых превышает указанное значение, индекс будет
создаваться при помощи кэша ключей (такой алгоритм работает несколько
медленнее).
Обратите внимание : значение этого параметра задается в мегабайтах!
В данное значение устанавливается в промежутках
между запросами буфер соединения. Обычно это значение не изменяется,
но если у вас очень мало памяти, можно установить его по размеру
ожидаемого запроса (т.е. равным предполагаемой длине операторов SQL,
отправляемых клиентами; если оператор превысит указанную длину, буфер
будет автоматически увеличен как максимум до
байтов).
Количество времени в секундах, на протяжении которого
ожидаются дополнительные данные от соединения, пока не будет отменено
чтение. Обратите внимание, что мы не ожидаем поступления данных от
соединения, время ожидания определяется по
. Также см.
.
Если чтение из порта связи было прервано, будет
предпринято указанное количество попыток повторного чтения. Это
значение должно быть достаточно высоким на
, так как внутренние
прерывания направляются на все потоки.
Время ожидания записи блока через соединение, пока
запись не будет прервана (в секундах).
Если это значение отлично от 0, то
будет
применять его для резервных дескрипторов файлов, используемых с
. Если это значение равно 0, то
(в зависимости
от того, какое число больше) файлов. Если
выдает ошибку 'Too
many open files' (слишком много открытых файлов), данное значение
необходимо увеличить.
.
.
Версия протокола, используемого сервером MySQL.
Каждый поток, осуществляющий последовательное
сканирование, выделяет буфер указанного размера для каждой сканируемой
таблицы. Если проводится много последовательных сканирований, это
значение можно увеличить.
При считывании строк после проведения сортировки в
отсортированном порядке строки считываются через буфер, чтобы избежать
операций поиска по диску. Если этот параметр не задан, то используется
значение
.
Изначальная величина буфера запросов. Если
большинство запросов большого размера (например, при вставке записей с
), его необходимо увеличить!
Результаты, превышающие это значение, не кэшируются
(по умолчанию - 1Мб).
Память, выделенная для хранения результатов старых
запросов. Если значение установлено в 0, кэш запросов отключен
(принято по умолчанию).
Не отображаются базы данных, для которых у
пользователя нет каких-либо привилегий по базам данных или таблицам.
Таким образом можно увеличить степень безопасности, если вы не хотите
предоставлять посторонним лицам возможность получать информацию о том,
какие базы данных есть у других пользователей. Также см.
.
.
, если
использует
внешнюю блокировку.
, если разрешаются только
локальные соединения (через сокет).
, если у пользователя нет привилегии
. Таким образом
можно увеличить степень безопасности, если вы не хотите предоставлять
посторонним лицам возможность получать информацию о том, какие базы
данных есть у других пользователей. Также см.
.
Количество времени в секундах, в течение которого
ожидаются дополнительные данные от подсоединенного головного или
подчиненного компьютера прежде, чем будет отменено чтение.
Если создание потока занимает больше, чем указанное
значение (в секундах), значение счетчика
будет
увеличено.
Сокет Unix, используемый сервером.
Каждый поток, которому необходимо произвести сортировку,
выделяет буфер данного размера. Увеличение данного значения позволит
ускорить выполнение операторов
. See section
.
Количество открытых таблиц для всех потоков. С увеличением
этого значения увеличивается количество дескрипторов файлов,
необходимых для
. Чтобы узнать, необходимо ли изменять значение
кэша таблиц, следует проверить значение переменной
. См.
раздел See section
. Если у этой переменной
большое значение, а команда
(которая закрывает все
таблицы, а потом открывает их повторно) используется не часто, то
необходимо увеличить ее значение. Чтобы получить дополнительную
информацию по кэшу таблиц, см. раздел See section
.
Принятый по умолчанию тип таблиц.
Определяет, сколько потоков должно сохраняться в
кэше для повторного использования. После отключения клиента потоки
клиента помещаются в кэш, если там не больше потоков, чем
. Все новые потоки сначала берутся из кэша, и только
когда кэш становится пустым, создаются новые потоки. Значение этой
переменной можно увеличить, чтобы повысить производительность, если
создается много новых соединений (если потоки у вас хорошо
организованы, обычно заметного улучшения производительности не
наблюдается). Насколько эффективен текущий кэш потоков, можно
определить по разнице между
.
с этим значением.
позволяет
приложению дать системе потоков подсказку по необходимому количеству
потоков, которые должны быть запущены в одно и то же время.
Размер стека для каждого потока. От данного значения
зависит большое количество ограничений, обнаруживаемых при помощи
теста
-me. По умолчанию этот размер достаточен для нормальной
работы. See section
.
Часовой пояс, в котором находится сервер.
Если находящаяся в памяти временная таблица превысит
этот размер, MySQL автоматически преобразует ее в дисковую таблицу
. Значение
следует увеличить, если выполняется
много расширенных запросов
и в вашей системе установлено
значительное количество оперативной памяти.
Каталог, используемый для временных файлов и временных таблиц.
Номер версии сервера.
Время в секундах, на протяжении которого сервер ожидает
активности соединения прежде, чем закрыть его. См. также
.
Раздел руководства, в котором описывается настройка MySQL содержит
некоторую информацию по настройке приведенных выше переменных.
See section
.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.