Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 18.01.2018
Сообщений: 86
MS SQL

Составить запрос SQL

31.03.2018, 21:03. Показов 732. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, нужна ваша помощь, помогите пожалуйста составить запрос более корректно.
Пишу функционал себе в C# WinForms работа с БД одной игры, написал говно код, но с ним программа долго выводит данные,т.к. в таблице 600 столбцов.

Для представления:
Имеем 2 базы данных (ItemsDB - база данных предметов,содержит в себе названия предметов,уникальный индекс и уникальный код предмета и WORLD - база в которой допустим имеется некий банк и в нём лежат разные предметы)

База ItemsDB содержит допустим 2 таблицы, это tbl_code_weapon и tbl_code_lower
внутри данной таблицы 3 столба (item_id - уникальный порядковый номер тип int , item_name - название вещи varchar(255) и item_code - уникальный код предмета что то типо этого iwprf13 тип varchar(10) )
Пример из tbl_code_weapon
Кликните здесь для просмотра всего текста


Пример из tbl_code_lower
Кликните здесь для просмотра всего текста


База WORLD содержит в себе допустим одну таблицу AccountTrunk в которой есть 600 столбцов
K0-K99 уникальный порядковый номер в sql ID (int)
U0-U99 апгрейд предмета (int)
R0-R99 принадлежность классу персонажа (tinyint)
D0-D99 количество предметов (bigint)
S0-S99 количество времени работы в миллисекундах (bigint)
T0-T99 статус времени (int) = 0 временный предмет, -1 не временный
у столбцов соответствие U0,R0,D0,K0,S0 и T0 относятся друг к другу и так с каждым номером

Пример tbl_AccountTrunk
Кликните здесь для просмотра всего текста


Показываю пример как можно из нужной мне строки взять нужную колонку и его число -
Кликните здесь для просмотра всего текста
и вот само число 609289728 , мне надо знать что это за предмет его уникальный ИД и название и вывести в текст бокс

Что я делаю чтобы узнать, открываю калькулятор программиста перевожу число 609289728 из 10 в 16 систему счисления и получаю 24510600 , отсюда мне надо число поделить на 2 куска :
1 кусок это 2451, которое перевожу обратно в 10 систему счисления и получаю 9297
2 кусок это 06 , для меня это тип предмета 6 тип это оружие,значит таблица tbl_code_weapon
После остаётся дело за малым это поиск название предмета и уникального ИД в базе ItemsDB в таблице tbl_code_weapon , собственно вот оно -
Кликните здесь для просмотра всего текста


Теперь к вопросам:
помощь по остальным столбам не нужна, интересует работа со столбцами K0-K99;
- нужно как то укомплектовать этот запрос циклом или массивом еще не знаю как,чтобы не получилось там 600 отдельных запросов,т.к. от этого в проге жуткие лаги...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2018, 21:03
Ответы с готовыми решениями:

Как правильно составить SQL-запрос?
Пытаюсь писать службу, взаимодействующую с SQL. Вопрос по запросу у меня....имеется следующий код protected override void OnStart(string...

Как правильно составить запрос к SQL Server?
всем привет! программа должна по нажатию кнопки писать в базу данных: this.textBox2.Text = "1"; ...

Не составить SQL запрос
не знаю в каком разделе надо было открывать эту тему, открыл здесь. Вопрос к уважаемым форумчанам следующий. имеются две таблицы...

3
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
02.04.2018, 08:21
У Вас просто ужаснейшая архитектура таблиц, поэтому ничего окромя ужасных лагов там не будет никогда.
Кто, мне просто интересно, придумал всю эту ерунду с 600 колонками, переводами чисел в разные системы счисления?
Никто Вам тут не поможет разбираться с этим вот "архитектурным решением", потому что его не будет.
Нужно переделывать почти всё, а это значит, что и половину запросов как минимум. Без обид, но БД - не Ваше.
П.С. - циклы в СУБД - тоже будут тормозить, может быть даже больше, чем сейчас.
0
0 / 0 / 1
Регистрация: 18.01.2018
Сообщений: 86
03.04.2018, 23:29  [ТС]
Это БД одной игры)
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
04.04.2018, 08:29
Ну что же, начинайте разрабатывать архитектуру снова с нуля. У Вас тормозит, когда только лишь Вы пробуете добраться до предметов.
Представим, что одновременно это пробуют делать 10 человек хотя бы, и дают те же запросы к СУБД одновременно.
У Вас всё не то, что ляжет - а просто не заведется даже. Проект скорее мертвый получается.

Не по теме:

Мне искренне жаль тех разработчиков, которым пришлось писать запросы к такой вот БД :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2018, 08:29
Помогаю со студенческими работами здесь

Составить SQL запрос
в table2 есть только 2 поля id и name в table1 есть три поля id, table1.name_id, table1.name1_id мне нужно выводить table2.name ...

Составить запрос SQL
Есть глобальная переменная FieldLook : string. Есть такой запрос: SELECT * FROM table_name WHERE FieldLook = 'значение' Дак...

Составить SQL-запрос
Доброго времени суток товарищи программисты!Нужна помощь. База данных MySQL подключена к Delphi 7. Через ADOTable в DBGrid отображается...

Составить SQL запрос
например есть таблица: ID-----SUP_ID------ITEM 1--------15----------6 2--------15----------3 3--------15----------0 ...

Составить SQL-запрос
Здравствуйте. Нужно с помощью SQL-запроса добавить 2 столбца к таблице STUDENTS: 1-ый столбец "Дом.Адрес" 2-ой столбец...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru