Поиск: DISTINCT (17)
| Справочник по языку MySQL » Синтаксис оператора UNION |
6.4.1.2 Синтаксис оператора UNION
SELECT ...
UNION [ALL]
SELECT ...
[UNION
SELECT ...]
Оператор UNION реализован в MySQL 4.0.0.
UNION используется для объединения результатов работы нескольких команд SELECT в один набор результатов. |
|
теги: SELECT, FROM |
| |
| Справочник по языку MySQL » Синтаксис оператора SELECT |
6.4.1 Синтаксис оператора SELECT
Оператор SELECT имеет следующую структуру:
SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...] |
|
теги: SELECT, mysql |
| |
| Справочник по языку MySQL » Функции, используемые в операторах GROUP BY |
6.3.7 Функции, используемые в операторах GROUP BY
Вызов групповых функций для SQL-команд, не содержащих GROUP BY, эквивалентен выполнению этих функций над всем набором возвращаемых данных.
COUNT(expr)
Возвращает количество величин со значением, не равным NULL, в строках, полученных при помощи команды SELECT:
mysql> SELECT student.student_name,COUNT(*) FROM student,course
WHERE student.student_id=course.student_id
GROUP BY student_name; |
|
теги: SELECT, GROUP |
| |
| Справочник по языку MySQL » ``Придирчив\\'\\' ли MySQL к зарезервированным словам? |
6.1.6 ``Придирчив'' ли MySQL к зарезервированным словам?
Это общая проблема, возникающая при попытке создать таблицу с именами столбцов, использующих принятые в MySQL названия типов данных или функций, такие как TIMESTAMP или GROUP. Иногда это возможно (например, ABS является разрешенным именем для столбца), но не допускается пробел между именем функции и сразу же следующей за ним скобкой `(' при использовании имен функций, совпадающих с именами столбцов. |
|
теги: MySQL |
| |
| Оптимизация в MySQL » Как MySQL оптимизирует LIMIT |
5.2.8 Как MySQL оптимизирует LIMIT
В некоторых случаях, когда используется LIMIT # и не используется HAVING, MySQL будет выполнять запрос несколько иначе:
Если при помощи LIMIT выбираются только несколько строк, MySQL будет использовать индексы в тех некоторых случаях, когда он обычно предпочел бы делать полное сканирование таблицы. |
|
теги: LIMIT, GROUP |
| |
| Оптимизация в MySQL » Как MySQL оптимизирует DISTINCT |
5.2.5 Как MySQL оптимизирует DISTINCT
DISTINCT преобразовывается к GROUP BY для всех столбцов, для DISTINCT в сочетании с ORDER BY, помимо этого, во многих случаях также требуется временная таблица.
Если LIMIT # указывается совместно с DISTINCT, MySQL остановится, как только найдет # уникальных строк. |
|
теги: DISTINCT, MySQL |
| |
| Оптимизация в MySQL » Синтаксис оператора EXPLAIN (получение информации о SELECT) |
5.2.1 Синтаксис оператора EXPLAIN (получение информации о SELECT)
EXPLAIN имя_таблицы
или EXPLAIN SELECT опции_выборки
EXPLAIN имя_таблицы является синонимом операторов DESCRIBE имя_таблицы и SHOW COLUMNS FROM имя_таблицы.
Если оператор SELECT предваряется ключевым словом EXPLAIN, MySQL сообщит о том, как будет производиться обработка SELECT, и предоставит информацию о порядке и методе связывания таблиц. |
|
теги: SELECT, EXPLAIN |
| |
| Администрирование баз данных » SHOW PROCESSLIST |
4.5.6.6 SHOW PROCESSLIST
Команда SHOW [FULL] PROCESSLIST показывает, какие потоки запущены в настоящий момент. Эту информацию также можно получить при помощи команды mysqladmin processlist. Если у вас привилегия SUPER, можно просматривать все потоки, в противном случае - только свои потоки. See section 4.5.5 Синтаксис команды KILL. Если не используется параметр FULL, будут показаны только первые 100 символов каждого запроса.
|
|
теги: FULL, SHOW |
| |
| Учебное пособие по MySQL » Использование mysql в пакетном режиме |
3.6 Использование mysql в пакетном режиме
В предыдущих разделах было показано, как использовать mysql в интерактивном режиме, вводя запросы и тут же просматривая результаты. Запускать mysql можно и в пакетном режиме. Для этого нужно собрать все команды в один файл и передать его на исполнение mysql:
shell> mysql < batch-file |
|
теги: shell |
| |
| Учебное пособие по MySQL » Выборка определенных столбцов |
3.3.4.3 Выборка определенных столбцов
Если строки целиком вам не нужны, достаточно просто перечислить имена нужных столбцов, разделив их запятыми. Например, если вы хотите узнать, когда родились животные, выберите столбцы с именами и датами рождения:
mysql> SELECT name, birth FROM pet;
+----------+------------+
| name | birth |
+----------+------------+
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Buffy | 1989-05-13 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Puffball | 1999-03-30 |
+----------+------------+ |
|
теги: SELECT |
| |
| Установка MySQL » Модернизация с версии 3.22 до версии 3.23 |
2.5.3 Модернизация с версии 3.22 до версии 3.23
В версии MySQL 3.23 поддерживаются таблицы нового типа MyISAM и старого типа ISAM. Старые таблицы не нуждаются в преобразовании для использования их в версии 3.23. По умолчанию все новые таблицы будут создаваться с типом MyISAM (если вы не запускаете mysqld с опцией --default-table-type=isam). Можно преобразовать таблицу ISAM в таблицу MyISAM при помощи команды ALTER TABLE table_name TYPE=MyISAM или при помощи Perl-скрипта mysql_convert_table_format. |
|
теги: TABLE, MySQL |
| |
| Общая информация » Сравнение MySQL и mSQL |
Производительность
Точные результаты сравнения скорости работы можно найти в постоянно пополняющейся библиотеке проведенных тестов по MySQL (see section 5.1.4 Набор тестов MySQL (The MySQL Benchmark Suite)). СУБД mSQL, благодаря отсутствию затрат дополнительных ресурсов на создание потоков, а также за счет компактности синтаксического анализатора, небольшого количества функций и упрощенной системы безопасности, должна выигрывать в скорости выполнения:
тестов на выполнение циклов соединение-отсоединение, при каждом соединении выполняющих какой-нибудь простой запрос
операций INSERT над простыми таблицами, содержащими небольшое количество столбцов и ключей
CREATE TABLE и DROP TABLE |
|
теги: MySQL, SELECT |
| |
| Общая информация » Что должно быть сделано в ближайшем будущем |
1.10.4 Что должно быть сделано в ближайшем будущем
Не разрешать более чем определенному количеству потоков одновременно заниматься восстановлением MyISAM-таблиц.
Изменение INSERT ... SELECT с целью оптимального использования одновременных вставок.
Возвращать истинные типы полей при выполнении SELECT MIN(столбец) GROUP BY.
Множественные результаты. |
|
теги: SELECT |
| |
| Общая информация » Известные ошибки и недостатки проектирования в MySQL |
1.9.5 Известные ошибки и недостатки проектирования в MySQL
Устранение следующих из выявленных проблем относится к числу первоочередных задач:
ANALYZE TABLE на таблицах BDB в некоторых случаях может сделать таблицу недоступной для использования, пока не произойдет перезапуск mysqld. При этом в файле ошибок MySQL можно будет увидеть ошибки, подобные следующим:
001207 22:07:56 bdb: log_flush: LSN past current end-of-log |
|
теги: TABLE, BDB |
| |
| Общая информация » Расширения MySQL к ANSI SQL92 |
1.9.3 Расширения MySQL к ANSI SQL92
Сервер MySQL включает в себя ряд расширений, которые могут отсутствовать в других базах данных SQL. Если вы их используете, то следует иметь в виду, что такой код не будет переносимым на другие SQL-серверы. В некоторых случаях можно написать код, включающий расширения MySQL, но, тем не менее, являющийся переносимым, воспользовавшись комментариями вида /*! ... */. В этом случае сервер MySQL будет анализировать и выполнять данный код внутри этого комментария как обычную команду MySQL, в то время как другие SQL-серверы будут игнорировать данное расширение. |
|
теги: MySQLSELECT |
| |
| Общая информация » Другие функции, доступные в MySQL 4.0 |
1.7.4 Другие функции, доступные в MySQL 4.0
В версии 4.0 еще больше возросла скорость работы MySQL в нескольких областях, таких как множественные вставки (bulk INSERT) для большого количества данных, поиск в сжатых индексах, создание полнотекстовых индексов (FULLTEXT), а также COUNT(DISTINCT).
Обработчик таблиц InnoDB теперь входит в стандартный набор сервера MySQL, включая полную поддержку транзакций и блокировок уровня строки. |
|
теги: MySQL |
| |
| Общая информация » Основные возможности MySQL |
1.4.2 Основные возможности MySQL
Ниже приведено описание важных характеристик программного обеспечения MySQL. See section 1.7 Кратко о MySQL 4.x.
Внутренние характеристики и переносимость
Написан на C и C++. Протестирован на множестве различных компиляторов.
Работает на различных платформах. See section 2.2.5 Операционные системы, поддерживаемые MySQL. |
|
теги: MySQL, C++ |
| |
Страницы: [ 1 ]
|
|