|
Программирование >> Создание клиентов mysql
Отладка и конфигурирование Описанные ниже функции возвращают информацию о сервере либо помогают при отладке. ВЕЫСНМАИК(циклы, значение) Функция BENCHMARK) вычисляет требуемое выражение столько раз, сколько указано в первом аргументе. Она всегда возвращает нуль, но если используется клиент mysql, то будет также подсчитано время, затраченное на выполнение функции. В листинге 12.1 показано, сколько времени ушло на выполнение 100000 вызовов функции SOUNDEX (). Здесь подразумевается время, прошедшее с момента ввода запроса до момента получения его результатов, а не время использования центрального процессора. Время выполнения функции может существенно замедляться из-за загруженности сервера или сети. mysql> SELECT BENCHMARK(100000, SOUNDEX(Core)); +------------------------------------+ I BENCHMARK(100000, SOUNDEX{Core)) I + -----------------------------------+ I 0 I +------------------------------------+ 1 row in set (0.26 sec) CONNECTlON lD() Эта функция возвращает идентификатор текущего соединения (листинг 12.2). Листинг 12.2. . .- - I CONNECTION IDО I I 91 I 1 row in set (0.00 sec) DATABASEl) Эта функция возвращает имя стандартной базы даннгх (листинг 12.3). Если таковая не выбрана, возвращается NULL. Отладка и конфигурирование LASTJNSERTJD([идeнтификaтop]) Для каждого соединения программа MySQL хранит последнее значение счетчика, служащего первичным ключом. Функция LAST INSERT ID {) возвращает это значение (листинг 12.4). Если функции передать аргумент, она установит его в качестве нового значения счетчика. mysql> INSERT INTO item VALUES (NULL ap, 3.75, 3-Pack, 200); Query OK, 1 row affected (0.06 sec) mysql> SELECT LAST INSERT ID(); Существуют два основных применения функции LAST INSERT IO Чаще всего она используется со столбцами типа AUTO INCREMENT. Если вследствие какого-либо запроса значение данного столбца увеличивается автоматически, то это значение запоминается и впоследствии возвращается функцией Если же значение столбца задается вручную, то на функции это никак не отражается. В листинге 12.4 первый аргумент предложения VALUES инструкции INSERT равен NULL, что приводит к автоматическому увеличению счетчика. С другой стороны, с помощью функции LAST INSERT ID () можно имитировать последовательные счетчики, связав ее с таблицей, состоящей из одного столбца. Об этом подробно рассказывалось в главе 9, Транзакции и параллельные вычисления . SESSION USER() Это синоним функции USER {). SYSTEM USER() Это синоним функции USER (). USER() Эта функция возвращает имя пользователя, начавшего текущий сеанс работы с сервером (листинг 12.5). Сообщается также имя компьютера, за которым работает пользователь. mysql> SELECT USER(); USER I VERSIONO Эта функция сообщает номер версии сервера MySQL (листинг 12.6). mysql> SELECT VERSIONO ; VERSION Управляющие функции Описанные ниже функции управляют выполнением программного кода. Функции CASE и CASE WHEN реализованы подобно инструкциям языков третьего поколения и не используют скобки, но в остальном они аналогичны функциям. Две функции блокирования, а также функция, заставляющая главную базу данных дождаться синхронизации подчиненной базы данных, полезны при работе в многопользовательской среде.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |