Автор Тема: MySQL сървър запитване  (Прочетена 1154 пъти)

koko92_national

  • Напреднали
  • *****
  • Публикации: 60
    • Профил
MySQL сървър запитване
« -: Oct 01, 2012, 10:02 »
Здравейте,

Имам 2 питания:
1. Когато задам команда SHOW TABLE STATUS; на една от таблиците DATA_FREE колоната ми показва 9 цифрено число. Ако не се лъжа това число се дели 2 пъти на 1024, за да го превърна в МВ. И горе долу ми излиза 307МВ. Това означава ли че трябва да пусна OPTIMIZE TABLES? И възможно ли е това да причини забавяне?

2. Имам InnoDB таблица и в лога ми показва че таблицата е full. Като гледам размера на .frm файла то е 12К. Какво се прави в този случай?

Благодаря предварително. :)
Активен

dejuren

  • Напреднали
  • *****
  • Публикации: 1025
  • Distribution: Ubuntu, RedHat
  • Window Manager: lxde KDE4
    • Профил
Re: MySQL сървър запитване
« Отговор #1 -: Oct 01, 2012, 19:20 »
1.
Цитат
OPTIMIZE TABLE should be used if you have deleted a large part of a table or if you have made many changes to a table with variable-length rows (tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deleted rows are maintained in a linked list and subsequent INSERT operations reuse old row positions. You can use OPTIMIZE TABLE to reclaim the unused space and to defragment the data file. After extensive changes to a table, this statement may also improve performance of statements that use the table, sometimes significantly.

Може да пуснеш оптимизация, няма да навреди. Но ако под "това да причини забавяне" имаш предвид оптимизацията, да, възможно е. Ако имаш предвид големината на таблицата - няма.

2. Провери дали дискът на който се намира таблицата не е пълен. Може да се наложи да добавиш в my.cnf опция autoextend, например:

innodb_data_file_path=ibdata1:10G:autoextend
Активен

http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: MySQL сървър запитване
« Отговор #2 -: Oct 01, 2012, 19:53 »
Коко има ли някаква специална причина да ползваш InnoDB, защото не това е избора, когато търсим производителност.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

zdraganov

  • Напреднали
  • *****
  • Публикации: 16
  • Distribution: Fedora 16/17, CentOS 6.3, Red Hat Enterprise Linux Server 6.2
  • Window Manager: KDE, LXDE
    • Профил
Re: MySQL сървър запитване
« Отговор #3 -: Oct 01, 2012, 20:42 »
Пробрай също с увеличаване на хийпа max_heap_table_size, както и притежки заявки query_cache_size. Става през my.ini или директно чрез SET GLOBAL ...
Успех!
Активен

Живко Драганов

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: MySQL сървър запитване
« Отговор #4 -: Oct 02, 2012, 00:19 »
Коко има ли някаква специална причина да ползваш InnoDB, защото не това е избора, когато търсим производителност.

Това не е много вярно, зависи от случая. В общият случай с по-малка база, където има предимно select-и, myisam обикновено е по-бърз, както се очаква. Когато имаш повечко конкурентни заявки и не са предимно select-и, а и insert/update-и, нещата започват доста бързо да клонят в посока innodb. Това е защото при myisam няма транзакции и за да промениш или вмъкнеш ред в таблицата, същата се заключва. За което време select-ите чакат. И обратното, когато се изпълнява select заявка, insert/update-ите чакат докато се изпълни. Когато таблиците станат големи и не може да се наврат в кеша съответно става забавно.
Активен

"Knowledge is power" - France is Bacon

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: MySQL сървър запитване
« Отговор #5 -: Oct 02, 2012, 00:57 »
Да това е напълно вярно, ако имаме транзакции. В Мария ДБ обаче има транзакции и се държат много добре, работили са много по оптимизацията.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
MySql малък проблем.
Хардуерни и софтуерни проблеми
Marto 6 8428 Последна публикация Sep 25, 2002, 12:32
от
Perl + CGI,DBI + Mysql ili PHP + Mysql
Общ форум
jica 3 8514 Последна публикация Sep 07, 2004, 17:02
от jica
Mysql проблем със стартирането(mysql.sock missing)
Настройка на програми
coveka 6 10928 Последна публикация Mar 01, 2008, 22:02
от coveka
Mysql: can't connect to local mysql server
Настройка на програми
wonder 1 9467 Последна публикация Mar 16, 2008, 01:17
от neter
PHP / Mysql проблеми - mysql server has gone away
Web development
gat3way 9 9449 Последна публикация May 29, 2012, 18:50
от Neo2SHYAlien