Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Расширение MySQL - Программирование от RIN.RU
Расширение MySQL



Добавление новой процедуры в MySQL




В MySQL, можно определить процедуру на C++, которая обращается к данным в запросе и изменяет их до того, как они будут посланы клиенту. Изменение может быть выполнено на построчном уровне, либо на уровне GROUP BY.


Чтобы продемонстрировать то, как это можно сделать, мы создали пример процедуры в версии MySQL 3.23.


Дополнительно мы рекомендуем обратить внимание mylua. Располагая mylua, можно использовать язык LUA для загрузки процедуры в mysqld во время выполнения.


Процедура Analyse


analyse([max elements,[max memory]])


Эта процедура определена в 'sql/sql_analyse.cc'. Она исследует результат запроса и возвращает анализ результатов:


  • max elements (по умолчанию 256) - максимальное число различных значений, которые analyse будет распознавать в столбце. Аргумент используется analyse для проверки того, является ли тип ENUM оптимальным типом столбца.

  • max memory (по умолчанию 8192) - максимальное количество памяти, которую должна выделять analyse для столбца в процессе поиска всех различных значений.



SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])




Написание процедуры


На данный момент единственной документацией по этой теме является исходный код.


Всю информацию о процедурах можно найти, изучив следующие файлы:


  • 'sql/sql_analyse.cc'

  • 'sql/procedure.h'

  • 'sql/procedure.cc'

  • 'sql/sql_select.cc'


<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь