Человек vs MySQL&HUGE-table

MySQL, Заметки новичка/специалиста : 2009-09-22 05:40:46

И снова та же тема, хотя и с другой стороны. Что делать, если в таблице миллионы строк и надо часто и много добавлять или обновлять? Вот об этом мы и поговорим сегодня.
Читать полностью »


Круговые диаграммы на SQL

MySQL, Найдено в интернете : 2009-08-17 12:10:41

Мне сложно даже предположить что натолкнуло человека на реализацию отображения круговых диаграмм на чистом (почти, там используются фишки MySQL) SQL.

Конечно диаграмма выглядит несколько специфично, но только из-за того что вместо разных цветов тут используются разные символы. Вот пример диаграммы:

+------------------------------------------------------------------------------+
| pie_chart                                                                    |
+------------------------------------------------------------------------------+
|                                                                              |
|                            #######################                           |
|                    #######################################                   |
|               #################################################              |
|            ##################                   ##################           |
|         ###############                               ###############        |
|        #############                                     #############       |
|      #############                                         #############     |
|      ############                                           ############     |
|     #############                                           #############    |
|      ############                                           oooo::::::::     |
|      #############                                         ooooooooooooo     |
|        #############                                     ooooooooooooo       |
|         ###############                               ooooooooooooooo        |
|            #################;                   ;;;;;;;;;ooooooooo           |
|               #############;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oo              |
|                    ######;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                   |
|                            ;;;;;;;;;;;;;;;;;;;;;;;                           |
|                                                                              |
| ##  com_select: 1876 (69%)                                                   |
| ;;  com_insert: 514 (19%)                                                    |
| oo  com_delete: 277 (10%)                                                    |
| ::  com_update: 63 (2%)                                                      |
+------------------------------------------------------------------------------+

SQL для построения такой диаграммы приведен тут, там же есть пример такого запроса для PostgreSQL, но я его не проверял. В базе нужны только две таблицы: tinyint_asc и таблицы с данными для отображения. Создание дополнительной таблицы tinyint_asc описано тут.

+------------------------------------------------------------------------------+
| pie_chart                                                                    |
+------------------------------------------------------------------------------+
|                                                                              |
|                            #######################                           |
|                    #######################################                   |
|               #################################################              |
|            ##################                   ##################           |
|         ###############                               ###############        |
|        #############                                     #############       |
|      #############                                         #############     |
|      ############                                           ############     |
|     #############                                           #############    |
|      ############                                           oooo::::::::     |
|      #############                                         ooooooooooooo     |
|        #############                                     ooooooooooooo       |
|         ###############                               ooooooooooooooo        |
|            #################;                   ;;;;;;;;;ooooooooo           |
|               #############;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oo              |
|                    ######;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                   |
|                            ;;;;;;;;;;;;;;;;;;;;;;;                           |
|                                                                              |
| ##  com_select: 1876 (69%)                                                   |
| ;;  com_insert: 514 (19%)                                                    |
| oo  com_delete: 277 (10%)                                                    |
| ::  com_update: 63 (2%)                                                      |
+------------------------------------------------------------------------------+

MySQL. Быстрая загрузка миллионов строк в таблицу

MySQL, Заметки новичка/специалиста : 2009-07-16 00:34:50

Не так давно передо мною стояла задача — загрузить 50 миллионов строк в базу на мускуле. Скажу я вам, то ещё удовольствие. И так пробовал, и эдак — примерно на двадцати миллионах скорость загрузки начинала резко падать. Эти 20 миллионов загружались примерно за час. Следующий же миллион входил в базу только к концу суток. В итоге detect нашёл выход:

Читать полностью »


MySQL. REPLACE и предел в 4Гб на размер файла таблицы

MySQL, Заметки новичка/специалиста : 2009-03-22 01:14:07

REPLACE — это вид SQL-запроса, который либо добавляет запись, либо обновляет её. Обновление происходит в случае, если запись с таким primary key уже есть в базе. Синтаксис команды идентичен синтаксису команды INSERT:

REPLACE INTO table (fields) VALUES (filed_values);

Читать полностью »