SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 28/01/2014, 01:03 PM   #21
Makar93
Huge Clucker
 
Makar93's Avatar
 
Join Date: Sep 2009
Posts: 497
Reputation: 9
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Urukhay View Post
А разве не на то придуман и до сей поры улучшается всем известный sscanf? И какая вообще разница строковому полю что там лежит, цифра буква или вообще знак |
Не, это серьезно плохой вариант) Поиск и изменения в строке будут крайне продолжительным и ресурсоемким процессом.
Quote:
Originally Posted by Stepashka View Post
Разбей данные на несколько таблиц.
Да и что тебя смущает в 50 столбцах?
Таблица в которой 85 столбцов (масштаб меньшить пришлось что бы сделать скрин):
Да размер таблицы меня не смущает, я когда-то давно писал РП мод, там было 127 столбцов, если бы я догадался в бинарный вид переводить данные, то их было бы на порядок меньше это точно.
Меня смущает что помимо этих 50 столбцов в таблице есть еще 40, а прошлый опыт подсказывает, что лучше оптимизировать, чем страдать.
__________________
Makar93 is offline   Reply With Quote
Old 28/01/2014, 01:08 PM   #22
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,410
Reputation: 104
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Makar93 View Post
Меня смущает что помимо этих 50 столбцов в таблице есть еще 40, а прошлый опыт подсказывает, что лучше оптимизировать, чем страдать.
Ну напиши что там за столбцы, посмотрим как можно оптимизировать.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 28/01/2014, 01:20 PM   #23
stabker
High-roller
 
stabker's Avatar
 
Join Date: Mar 2012
Location: Andromeda Galaxy
Posts: 1,249
Reputation: 70
Default Re: MySQL (F.A.Q.)

Такой вопрос, mySQL потянет около ~230k insert запросов подряд? (Перевод файловых аккаунтов).
__________________
stabker is offline   Reply With Quote
Old 28/01/2014, 01:23 PM   #24
Makar93
Huge Clucker
 
Makar93's Avatar
 
Join Date: Sep 2009
Posts: 497
Reputation: 9
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Stepashka View Post
Ну напиши что там за столбцы, посмотрим как можно оптимизировать.
На сервере есть система достижений, их 45, сейчас они выглядят как столбцы вида achiv1, achiv2 ... achiv45, значения разные от отрицательных чисел до положительных, по дефолту нулевые, хранят в себе "прогресс" достижений игрока. Помимо этих столбцов есть еще около 40 других, для сохранения другой инфы о игроке.
__________________
Makar93 is offline   Reply With Quote
Old 28/01/2014, 01:27 PM   #25
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,410
Reputation: 104
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by stabker View Post
Такой вопрос, mySQL потянет около ~230k insert запросов подряд? (Перевод файловых аккаунтов).
Потянет, даже не поперхнется.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 28/01/2014, 01:33 PM   #26
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,410
Reputation: 104
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Makar93 View Post
На сервере есть система достижений, их 45, сейчас они выглядят как столбцы вида achiv1, achiv2 ... achiv45, значения разные от отрицательных чисел до положительных, по дефолту нулевые, хранят в себе "прогресс" достижений игрока. Помимо этих столбцов есть еще около 40 других, для сохранения другой инфы о игроке.
Выносим достижения в отдельную таблицу, а связку делаем через промежуточную.
  • achievement: id, name, ...
  • user: id, ...
  • achievement_to_user: user_id, achievement_id, progress
    И создай ключ по двум полям (user_id, achievement_id) UNIQUE
Связь будем по принципу многие ко многим. С дополнительным параметром прогресса.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 28/01/2014, 02:17 PM   #27
Urukhay
Gangsta
 
Join Date: Sep 2013
Posts: 636
Reputation: 2
Default Re: MySQL (F.A.Q.)

Также можете еще почитать на досуге общий мануал по MySQL - http://www.softtime.ru/info/mysql40_ru.php.
Urukhay is offline   Reply With Quote
Old 28/01/2014, 02:23 PM   #28
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,410
Reputation: 104
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Urukhay View Post
Также можете еще почитать на досуге общий мануал по MySQL - http://www.softtime.ru/info/mysql40_ru.php.
Категорически не рекомендую читать подобные вещи!

Хотите читать мануал идите только на официальный ресурс: MySQL :: MySQL Documentation: MySQL Reference Manuals
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 28/01/2014, 03:00 PM   #29
Makar93
Huge Clucker
 
Makar93's Avatar
 
Join Date: Sep 2009
Posts: 497
Reputation: 9
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by Stepashka View Post
Выносим достижения в отдельную таблицу, а связку делаем через промежуточную.
  • achievement: id, name, ...
  • user: id, ...
  • achievement_to_user: user_id, achievement_id, progress
    И создай ключ по двум полям (user_id, achievement_id) UNIQUE
Связь будем по принципу многие ко многим. С дополнительным параметром прогресса.
Окей, перенос ачив в мускул мне даже поможет)
__________________
Makar93 is offline   Reply With Quote
Old 28/01/2014, 06:56 PM   #30
stabker
High-roller
 
stabker's Avatar
 
Join Date: Mar 2012
Location: Andromeda Galaxy
Posts: 1,249
Reputation: 70
Default Re: MySQL (F.A.Q.)

Какой вариант хранения инфы с привязкой к аккаунту игрока лучше всего (не знаю, как правильно сформулировать, см. примеры).

1. Дополнительно храним ник в этой же таблице, пример загрузки (но загвоздка в том, что потом его постоянно придется обновлять)
Code:
SELECT *
FROM family
WHERE fid = 1
2. Храним только ид аккаунта, ник все равно никакого смысла не имеет при работе с этой таблицей. Пример загрузки

Code:
SELECT family.* , users.name AS creator
FROM family, users
WHERE family.fid = 1
AND family.creator_id = users.id
Выбор прошу аргументировать.
__________________
stabker is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[GameMode] Basic MySQL Account Script [MySQL R7, cache functions, easydialog, Whirlpool, salted passwords] ReneG Gamemode Scripts 71 02/03/2014 11:48 AM
[GameMode] MySQL Account Script BlueG MySQL plugin R31 (cache method) Aliassassin123456 Gamemode Scripts 10 23/02/2014 12:09 PM
[GameMode] MySQL CLEAN GAMEMODE [Whirlpool, MySQL BlueG R7, Cache, Ready Package (Windows)] GiamPy. Gamemode Scripts 13 13/09/2013 04:31 PM
BlueG MySQL plugin - Failed (plugins/mysql.so: undefined symbol: _Z13stringvprintfPKcPc) linuxthefish Plugin Development 10 13/07/2013 10:56 AM
[Tool/Web/Other] MySQL DB Manager - Easily manage your MySQL databases with this remote application fiki574 Tools and Files 13 22/07/2012 09:41 AM


All times are GMT. The time now is 05:08 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.