Приветствую, форумчане!
Каким образом можно организовать БД, чтобы выдержала относительно большое количество данных?
Подробное описание проблемы:
Программа, периодически записывает в INI файл, сейчас столкнулся с проблемой, что периодически INI файл слетает(в начале файла непонятные символы и вес сильно уменьшается). Количество строк сейчас около 2'000, планируется до 5'000, длина строки до 50 символов, планируется до 150 символов.
Как я начитался, что INI файлы не предназначены для записи большого объёма данных.
Пробовал переместить на MT-Таблицы, в какой-то момент начинает резать текст в таблицах.
Приму к сведению любые варианты, желательно без использования дополнительного ПО(прим. MySQL).
Мне нужна Ваша идея
Этот топик читают: Гость
Ответов: 125
Рейтинг: 6
|
|||
карма: 0 |
|
Google
vip
|
#1.1контекстная реклама от партнеров
|
Ответов: 817
Рейтинг: 52
|
|||
mrumbert писал(а): Каким образом можно организовать БДСейчас придет Tad и за такие слова выскажет все свои знания (это я без шуток, мне интересно, что он скажет) А вообще, как я понимаю из написанного mrumbert писал(а): Количество строк сейчас около 2'000у тебя база такого вида ID;Name 0;строка_1 1;строка_2 .... n;строка_n Если это так, то больших проблем не будет - читай http://forum.hiasm.com/topic/7573 Но еще немаловажно понимать, доступ к БД у тебя планируется многопользовательский? |
|||
карма: 1 |
|
Ответов: 8887
Рейтинг: 823
|
|||
mrumbert, пока Tad отдыхает, выложите для ясности имена таблиц и имена колонок, ему будет легче
5000 строк -- совсем не много |
|||
карма: 19 |
|
Ответов: 125
Рейтинг: 6
|
|||
-= DriveR =- писал(а): у тебя база такого вида ID;Name 0;строка_1 1;строка_2 Не совсем, сейчас файл вида: [1] 12345678910=Абвгдеёжзийклмнопрстуфхцчшщ;Abcdefg&1112131415#12:34:56|12.01.2017 ... [2] 12345678910=Абвгдеёжзийклмнопрстуфхцчшщ;Abcdefg&1112131415#12:34:56|12.01.2017 ... [4] ... Несколько секций использовано исключительно потому, что после некоторого количество строк, при полном чтении секции обрубает строки. Есть второй файл, имеющий несколько другую структуру,но я его периодически очищаю, поэтому с ним проблем не возникает: [01.02.2010] 113024=Абвгдеёжзийклмнопрст;01 ... -= DriveR =- писал(а): Но еще немаловажно понимать, доступ к БД у тебя планируется многопользовательский?Только одна программа использует файл, но бывает что читает и по несколько строк сразу. -= DriveR =- писал(а): читай http://forum.hiasm.com/topic/7573 C SQLite не связывался, т.к. без примеров мне сложно понять как оно работает, почти все элементы только на примерах и изучал, да и от MySQL остался отпечаток неприятный) Но поизучаю пока, может и так принцип догоню) Редактировалось 2 раз(а), последний 2017-07-05 11:26:56 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
-= DriveR =- писал(а): Сейчас придет mrumbert писал(а): Не совсем, сейчас файл видаmrumbert писал(а): C SQLite не связывалсяmrumbert писал(а): от MySQL остался отпечаток неприятныйА если mrumbert писал(а): периодически INI файл слетаетmrumbert писал(а): Пробовал переместить на MT-Таблицы, в какой-то момент начинает резать текст в таблицах. Неладно что-то в датском королевстве Редактировалось 2 раз(а), последний 2017-07-05 13:34:00 |
|||
карма: 25 |
|
Ответов: 952
Рейтинг: 4
|
|||
У человека не БД, а просто текстовый файл постоянно пополняемый новыми строками.
Все таки рекомендую запустить пример SQLite из папки с программой и посмотреть что там да как. Иначе это баловство, и если планы далекоидущие, то путь с текстовым файлом - путь в никуда. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm писал(а): У человека не БД, а просто текстовый файл постоянно пополняемый новыми строками. mrumbert писал(а): Программа, периодически записывает в INI файлЯ, например, до сих пор не могу ничего понять. Мне даже кажется, что проблема описана не на русском языке. Редактировалось 2 раз(а), последний 2017-07-05 23:25:42 |
|||
карма: 25 |
|
Ответов: 1925
Рейтинг: 172
|
|||
mrumbert писал(а): Не совсем, сейчас файл вида:
[1] 12345678910=Абвгдеёжзийклмнопрстуфхцчшщ;Abcdefg&1112131415#12:34:5612.01.2017 ... [2] 12345678910=Абвгдеёжзийклмнопрстуфхцчшщ;Abcdefg&1112131415#12:34:56|12.01.2017 ... [4] ... Странный формат данных. Если это строки наподобие ФИО;дата рождения;пол;адрес, то можно либо БД, либо список строк (а визуальные MT-таблицы и вовсе ни к чему, если данные не нужно отображать).
|
|||
карма: 9 |
|
Ответов: 952
Рейтинг: 4
|
|||
Tad писал(а): И откуда это видно ?Сам такой был в начале пути. Именно с текстовика и начинал. Благо осмелился перейти на SQL и с вашей помощью и советами довольно успешно. Еще раз спасибо за науку. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm,
Ян Френкель писал(а): Ну что тебе сказать про Сахалин ?Не зная , что ";" (а в некоторых и "#") это признак комментария. Поэтому и "обрезает". А почитать - лень. |
|||
карма: 25 |
|
Ответов: 125
Рейтинг: 6
|
|||
Прошу прощения за отсутствие ответа, провайдер динозавр, до сих пор интернет по карточкам, только сегодня домой приехал)
Tad писал(а): Не зная , что ";" (а в некоторых и "#") это признак комментария. Поэтому и "обрезает". Обрезало на середине цифр как правило, а если поставить новую секцию, то нормально воспринимало. Вроде чуть разобрался с SQLite, как интернет появился и благодаря примерам) Но несколько вопросов осталось: 1.Насколько я понял из описания, что SQLite_QueryScalar и SQLite_Query почти не отличаются, но у меня при поиске значений в первом выводится только одно значение, а во втором целая строка, так и должно быть? 2.Прочитал, что добавив в начало запроса:"sqlite_query($dbhandle, 'BEGIN;');" и в конец:"sqlite_query($dbhandle, 'COMMIT;');", можно ускорить скорость записи на диск, но у меня не восприняло эту команду. 3.При отправке запроса на запись друг за другом, после прочтения из файла, начинает писать, что БД занята, сделал ожидание очереди, но мне кажется, что что-то неправильно я сделал, прошу указать на ошибки) 4.Достаточно ли библиотеки из корня HiAsm или надо скачивать другие?
Редактировалось 1 раз(а), последний 2017-08-02 11:20:05 |
|||
карма: 0 |
|
Ответов: 497
Рейтинг: 16
|
|||
фкмшкмкфмк
[сode] [/сode] --- Добавлено в 2017-08-02 01:17:48
Редактировалось 1 раз(а), последний 2017-08-02 01:17:48 |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
mrumbert писал(а): Но несколько вопросов осталось: 1. Так и должно быть. 2. Про Begin - Commit читай http://www.sqlite.org/ 3. Чтобы указать на ошибки, нужно видеть схему. А схему нужно выкладывать в теги CODE. 4. Достаточно. Редактировалось 1 раз(а), последний 2017-08-02 08:43:50 |
|||
карма: 25 |
|
Ответов: 125
Рейтинг: 6
|
|||
Tad писал(а): А схему нужно выкладывать в теги CODE.Исправил И можно ли заставить БД всегда отвечать? К примеру, если строка не найдена, чтобы хоть как-то отреагировал) А то, периодически ничего не возвращает при поиске по БД, хотя я точно уверен, что это значение есть, а с 5-го раза находит вдруг. Редактировалось 1 раз(а), последний 2017-08-02 11:51:02 |
|||
карма: 0 |
|
Ответов: 497
Рейтинг: 16
|
|||
mrumbert писал(а): заставить БД всегда отвечать кастилик
|
|||
карма: 1 |
|