Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
mysql innodb
#31
Механизм у них не менялся, все те же процедуры, все та же структура серверная. Использовать процедуры не так удобно в mysql, как в mssql, но было бы интересно посмотреть на практическую реализацию этого ибо

Код:
st.set(1, var1);
st.set(2, var2);
st.set(1, var1);
st.set(2, var2);
st.set(1, var1);
st.set(2, var2);

всегда раздражал.

Добавлено через 1 минуту
Цитата:Ну если ты помнишь Ему Ент Визор довольно часто держал разные части кода на процедурах и да , довольно удачно.
когда я использовал ему рт для сервера лагало на моих 300 онлайна при 100 человеках в локе так жутко, что было сугубо однофигственно что там используется...
Ответ
#32
pchayka Написал:Механизм у них не менялся, все те же процедуры, все та же структура серверная. Использовать процедуры не так удобно в mysql, как в mssql, но было бы интересно посмотреть на практическую реализацию этого ибо

Код:
st.set(1, var1);
st.set(2, var2);
st.set(1, var1);
st.set(2, var2);
st.set(1, var1);
st.set(2, var2);

всегда раздражал.
да но используется довольно редко , сабы , кланы (некоторые части). В айтемах скажем , такого и близко нет.
Практическая MySql реализация хранимок ничем примечательным не отличается от Т sql , только особенности MySQL

Код

TSql
PHP код:
<?php 
SELECT
ui
.item_id, ui.item_type, ui.amount, ui.enchant, ui.eroded, ui.bless, ui.ident, ui.wished,
isnull(ui.variation_opt1, 0),
isnull(ui.variation_opt2, 0),
isnull(ui.intensive_item_type, 0),
isnull(ui.inventory_slot_index, -1),
isnull(uia.attack_attribute_type, -2),
isnull(uia.attack_attribute_value, 0),
isnull(uia.defend_attribute_0, 0),
isnull(uia.defend_attribute_1, 0),
isnull(uia.defend_attribute_2, 0),
isnull(uia.defend_attribute_3, 0),
isnull(uia.defend_attribute_4, 0),
isnull(uia.defend_attribute_5, 0)
FROM (select * from user_item(nolock) where char_id = @char_id and warehouse = @warehouse) ui
left join user_item_attribute uia
(nolock) on ui.item_id = uia.item_id
WHERE item_type
> 0
Ответ
#33
раз в несколько минут через mytop в логе появляются запросы в items типа етого:
217 root localhost:54695 l2jdb3 12 Query UPDATE items SET owner_id=268480986,count=1,loc='INVENTORY',loc_data=0,enchant_level=0,price_sell=0,price_buy=0,custom_type1=0,custom_type2=0,mana_left=-1 WHERE object_id =

и во время етого появляется лаг на 5-10 секунд... обновил mysql-connector до 5.1.16, до етого стоял 5.1.6 - не помогло
Ответ
#34
Те что были дописаны - то сервисные процедуры, типа сделать вайп, вытянуть что-то, зачистить чара - они так и есть в поставке, но сам л2 сервер их не использует, да и нету надобности - в направлении работы с базой данных нет нагрузки - я еще давно выкинул бибку-пул неудачный и повыравнивал код.

По теме - если у автора есть проблемы с myisam таблицами - то вероятнее всего это какой-то вид блокировок включен в настройках - надо выключать, ну и как я писал надо обновить бибку коннектора - и будет бегать и не нужно сначала пыжится ставить на иннодб, а потом бороться с иннодб опять же с отсутствием знание как настраивается этот движок.
Ответ
#35
Простейший запрос с поиском по конкретному ключу, как это может лагать...

интересно что вот это вообще делает в той таблице...

price_sell=0,price_buy=0,custo m_type1=0,custom_type2=0
Ответ
#36
GameMems Написал:раз в несколько минут через mytop в логе появляются запросы в items типа етого:
217 root localhost:54695 l2jdb3 12 Query UPDATE items SET owner_id=268480986,count=1,loc='INVENTORY',loc_data=0,enchant_level=0,price_sell=0,price_buy=0,custom_type1=0,custom_type2=0,mana_left=-1 WHERE object_id =

и во время етого появляется лаг на 5-10 секунд... обновил mysql-connector до 5.1.16, до етого стоял 5.1.6 - не помогло
insert/replace/update блокируют для myisam всю таблицу, и это не выключается - потому что так им надо.

для этого запроса нужен только 1 индекс - примари на object_id
Но вот зачем обновляется овнер непонятно (разве что ссмена владельца). Есть мысль что есть еще запросы - которые не могут использовать те индексы что есть на таблице - они и будут давать задержки.
Ответ
#37
GameMems Написал:раз в несколько минут через mytop в логе появляются запросы в items типа етого:
217 root localhost:54695 l2jdb3 12 Query UPDATE items SET owner_id=268480986,count=1,loc='INVENTORY',loc_data=0,enchant_level=0,price_sell=0,price_buy=0,custom_type1=0,custom_type2=0,mana_left=-1 WHERE object_id =

не полный лог

2Deazer, 2Visor, innodb row locking тоже может сыграть свою роль, потом теоретически флуш на хард в инннодб может быть выше насчет особенности хранения, потом, опять таки foreign-keys


2GameMems убедись что в коде сейва инвентаря есть клоузы конекшинов и стейтментов
l2jfree | M.O.R.F. | A.P.S. | Aion | GW2 | BnS
Ответ
#38
hex1r0 Написал:не полный лог

2Deazer, 2Visor, innodb row locking тоже может сыграть свою роль, потом теоретически флуш на хард в инннодб может быть выше насчет особенности хранения, потом, опять таки foreign-keys


2GameMems убедись что в коде сейва инвентаря есть клоузы конекшинов и стейтментов

Тейбл локинг выгодней и быстрее в данных задачах
Ответ
#39
hex1r0 Написал:не полный лог

2Deazer, 2Visor, innodb row locking тоже может сыграть свою роль, потом теоретически флуш на хард в инннодб может быть выше насчет особенности хранения, потом, опять таки foreign-keys
Это на форуме в посте кажется тру идеей, но на практике не все так как хочется. Запросы меняющие поле с ключем заблокируют заблицу на момент выполнения, точнее индекс - что для конечного пользователя будет выглядеть как блокировка таблицы.
К чему приплетать внешние ключи - не совем понятно. Для запросов они ни на что не влияют и не являются индексами, которые использует анализатор и исполнитель в mysql.

Добавлено через 1 минуту
Для автора - посидите немного помотрите processlist - запросы длинее чем 200-300мс это уже нужно брать запрос и проверять как его выполняет mysql
Ответ
#40
:redlol: а вообще почти на 100% уверен что афтор держит и сайт с форумом на одном сервере и т.д. при этом имеет на борту не достаточно ресурсов.

Добавлено через 34 секунды
То что ты скинул - следствие , а не проблема
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  При запуске game server на сайте (sw13) ошибка mysql 0 AndreDeiu 1 1,357 09-27-2020, 11:32 PM
Последний пост: Lord_Gothic
  Mysql cjhrxSS 1 1,673 04-06-2018, 09:37 AM
Последний пост: cjhrxSS
  Потеря конекта с MySql flopix 3 1,320 02-23-2016, 12:30 AM
Последний пост: RedIst
  mysql 5.5 4ePtb 0 1,173 03-25-2015, 02:38 PM
Последний пост: 4ePtb
  Ищу MySQL запрос singer 9 2,067 11-10-2014, 11:11 AM
Последний пост: Donatte
  Зависают запросы MySQL Zhelnar 12 4,177 08-08-2014, 01:58 PM
Последний пост: SouthBridge
  Mysql angelcamel 12 7,822 07-30-2014, 07:08 PM
Последний пост: Owerthetop
  MySQL spartana 13 2,747 03-28-2014, 03:16 PM
Последний пост: spartana
  MySQL Error!!! M1xF1ght 0 1,048 03-04-2014, 05:26 AM
Последний пост: M1xF1ght
  mysql графическая оболочка Auri 4 1,996 11-13-2013, 05:36 PM
Последний пост: Auri

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)