powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Файлы или База при огромной мультиязычности
17 сообщений из 17, страница 1 из 1
Файлы или База при огромной мультиязычности
    #39257882
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Заканчиваю проект, задался сегодня ночью вопросом решил спросить у знающих совета.
Помогите, кто знает.

У меня 28 языков на проекте и скажем так 30 направлений. По каждому языку на каждое направление я сделал свой файл содержащий массив перевода. Так как проект огромен, файлы эти не маленькие. На одно направление на один язык самый большой 500кб.

Вот лежу и думаю сегодня ночью, а не му..к ли я... Файлы а не базу стал делать именно из-за огромного количества и для снижения нагрузки. но так как вышли просто огромные на мой взгляд файлы требующие подключения хоть и по одному но на каждую страниц, то вот задумался что быстрее и менее затратно для серверов из этих двух вариантов:

1. Так как описал выше
2. Или в таблицу каждого направления к каждому юниту добавить по 28 столбцов. База получится огромная, но если при запросе брать только данные юнита + 1 столбец из 28 может это лучше чем инклудить 500кб при каждом запросе.

Спасибо
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39257920
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE translations (
Project INT,
Direction INT,
TermID INT,
Term VARCHAR(xx),
PRIMARY KEY (Project,Direction,TermID)
);
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39257930
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaТипа
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE translations (
Project INT,
Direction INT,
TermID INT,
Term VARCHAR(xx),
PRIMARY KEY (Project,Direction,TermID)
);



Спасибо за ответ, но как создать я знаю )))
вопрос что быстрее и менее затратно для сервера.
То что Вы предлагаете даже хуже моего второго варианта.
Ибо запросов будет при этом варианте тьмы. порядка 45000 позиций умножить на 28. и это минимум
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258014
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DonDiegoзапросов будет при этом варианте тьмы. порядка 45000 позиций умножить на 28. и это минимумНу, во-первых, я верю в кэш запросов.
Во-вторых, кто тебя заставляет волочь из базы ВСЕ записи? Как я понимаю, в каждый момент времени используется только одна пара (проект, направление) - вот для этой пары и получай свои строки.
В третьих, приложение-то какое? десктоп/консоль, или веб-морда? в первом случае никто не мешает на старте получить, сложить в массив или коллекцию, и использовать локально. Опять же подкачивать можно и порциями - только то, что нужно, и на текущий момент отсутствует в локальных данных.
В четвёртых, в одном запросе можно получать сразу несколько записей - причём как в варианте списка в условии отбора, так и в варианте мультизапроса.

Ну и вообще, мог бы чего рассказать о своей системе. А то, знаешь, давать советы по форме сбруи для сфероконя несколько затруднительно.
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258117
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot DonDiego]

Вот лежу и думаю сегодня ночью, а не му..к ли я...


ну типа того. но ты не безнадежен, раз задумываешься.



Файлы а не базу стал делать именно из-за огромного количества и для снижения нагрузки.

уверен, это немного.



2. Или в таблицу каждого направления к каждому юниту добавить по 28 столбцов.

28 СТРОК, а не столбцов.

База получится огромная, но если при запросе брать только данные юнита + 1 столбец из 28 может это лучше чем инклудить 500кб при каждом запросе.

посчитай, напиши.
уверен, будет мало.
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258118
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DonDiegoAkinaТипа
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE translations (
Project INT,
Direction INT,
TermID INT,
Term VARCHAR(xx),
PRIMARY KEY (Project,Direction,TermID)
);



Спасибо за ответ, но как создать я знаю )))
вопрос что быстрее и менее затратно для сервера.
То что Вы предлагаете даже хуже моего второго варианта.
Ибо запросов будет при этом варианте тьмы. порядка 45000 позиций умножить на 28. и это минимум

запроса хватит и одного.
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258119
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot MasterZiv]DonDiego
Вот лежу и думаю сегодня ночью, а не му..к ли я...


ну типа того. но ты не безнадежен, раз задумываешься.


- спасибо стараюсь


Файлы а не базу стал делать именно из-за огромного количества и для снижения нагрузки.

уверен, это немного.



2. Или в таблицу каждого направления к каждому юниту добавить по 28 столбцов.

28 СТРОК, а не столбцов.

как это строк... строк в одной таблице к примеру самой большой 37 тысяч. а я говорю именно про столбцы по 28 дополнительных ячеек на каждую строку

База получится огромная, но если при запросе брать только данные юнита + 1 столбец из 28 может это лучше чем инклудить 500кб при каждом запросе.

посчитай, напиши.
уверен, будет мало.
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258122
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как это строк... строк в одной таблице к примеру самой большой 37 тысяч строк. а я говорю именно про столбцы по 28 дополнительных ячеек на каждую строку

к примеру
id, name, en, es, ru .....
1, unit-1, roro, popo, куку
2, unit-2, dopa, puta, лоло
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258162
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DonDiegoкак это строк... строк в одной таблице к примеру самой большой 37 тысяч строк. а я говорю именно про столбцы по 28 дополнительных ячеек на каждую строку


Строк, строк.

DonDiegoк примеру
id, name, en, es, ru .....
1, unit-1, roro, popo, куку
2, unit-2, dopa, puta, лоло

Ты примеры в виде create table двай, а не непонятные иероглифы...
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258281
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторid, name, en, es, ru .....
1, unit-1, roro, popo, куку
2, unit-2, dopa, puta, лоло

тут , вроде, и так всё ясно
если name - это имя товара на основном языке(к примеру русском) то остальные столбцы - переводы на остальные языки.
в этой постановке ничего страшного нет, всё просто
если код языка сделать в видке 1,2,4,8,16 ...
то MAKE_SET(bits, en, es, ua ,...) можно получать название очень просто.
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258351
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторid, name, en, es, ru .....
1, unit-1, roro, popo, куку
2, unit-2, dopa, puta, лоло

тут , вроде, и так всё ясно
если name - это имя товара на основном языке(к примеру русском) то остальные столбцы - переводы на остальные языки.
в этой постановке ничего страшного нет, всё просто
если код языка сделать в видке 1,2,4,8,16 ...
то MAKE_SET(bits, en, es, ua ,...) можно получать название очень просто.

тогда

(id, language) ->name
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258355
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

MAKE_SET команда mysql
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258819
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяавторid, name, en, es, ru .....
1, unit-1, roro, popo, куку
2, unit-2, dopa, puta, лоло

тут , вроде, и так всё ясно
если name - это имя товара на основном языке(к примеру русском) то остальные столбцы - переводы на остальные языки.
в этой постановке ничего страшного нет, всё просто
если код языка сделать в видке 1,2,4,8,16 ...
то MAKE_SET(bits, en, es, ua ,...) можно получать название очень просто.

Вадя спасибо за ответ, а можно поподробнее про последние две строчки
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39258889
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяMasterZiv,

MAKE_SET команда mysql

Вадя прочитал разобрался. Спасибо за ответ.
Но я наверное чуть не верно вопрос поставил.

вообщем смысл в том что перевод сайта построен через файлы, подключением как массив того файла какой язык используется.
а в БД есть три таблицы это команды всех чемпионатов земли, чемпионаты все и страны, которые хранят id, коды, id logo, страну и прочее.
так как команд более 37 тысяч по всем видам спорта то файл получается очень огромным, поэтому я и задался вопросом не проще ли чем каждый раз инклудить здоровенный файл, добавить к каждой строчке 28 столбцов перевода, и при запросе брать только нужный столбец.

просто когда идет выборка например событий на неделю то к событиям будет джойнится таблица команд для получения того перевода, а событий например 5000. вот в этом и вопрос что менее накладно подключать массив с языком перевода или джойнить из таблицы команд
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39259273
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DonDiego,
выводить 5000записей это глупость, никто их читать не станет.
присоединить перевод или «расшифровать» id на нужный язык нужно в самом конце, тогда и не будет этой проблемы, как это сделать я сказал
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39260290
DonDiego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяDonDiego,
выводить 5000записей это глупость, никто их читать не станет.
присоединить перевод или «расшифровать» id на нужный язык нужно в самом конце, тогда и не будет этой проблемы, как это сделать я сказал
ну почему глупость если это селект с выборкой??
...
Рейтинг: 0 / 0
Файлы или База при огромной мультиязычности
    #39260305
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DonDiegoвадяDonDiego,
выводить 5000записей это глупость, никто их читать не станет.
присоединить перевод или «расшифровать» id на нужный язык нужно в самом конце, тогда и не будет этой проблемы, как это сделать я сказал
ну почему глупость если это селект с выборкой??
глупость отображать такое количество конечному юзеру
никто не просматривает такое количество.
длина 2-3 экрана , если больше -то подгружением по 1 экрану.
а это уже селект по 50-60 строк.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Файлы или База при огромной мультиязычности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]