Реклама на сайте Advertise with us

Знатоки MySQL, подскажите, плз.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 25/12/10 в 16:08       Ответить с цитатойцитата 

sergio21: действительно, как программа (допустим 3 потока одновременно) узнает, какие ид им брать?

1
 



С нами с 28.07.07
Сообщения: 425
Рейтинг: 375

Ссылка на сообщениеДобавлено: 25/12/10 в 16:30       Ответить с цитатойцитата 

а нельзя взять добавить колонку статус, и туда писать значение когда уже эта строчка использована?
и потом читать данные
SELECT * FROM table WHERE status=0 LIMIT 0,20

VPS от 10$.USA/Germany

3
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 25/12/10 в 17:18       Ответить с цитатойцитата 

sergio21 писал:
Pentarh: чтобы указывать его в цикле программы, которая будет выдергивать одну за другой строки из базы и обрабатывать их.

Вы извращенец. Есть уже уникальный индекс ведь, зачем дублирующий праймари? Потому что в институте так учили? icon_smile.gif

И вообще, если не нравится логика автоинкремента, и если так нужно это поле, то вставляй и высчитывай его значение сам, хуле

6
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 26/12/10 в 00:23       Ответить с цитатойцитата 

sergio21 писал:
Pentarh: чтобы указывать его в цикле программы, которая будет выдергивать одну за другой строки из базы и обрабатывать их.


Самое маразматическое использование primary key, которое можно придумать. Он не для этого используется, а для того, чтобы на него ссылаться из других таблиц - для нормализации. И все. А то потом тебе приходит в голову мысль, что надо бы и вычищать данные, удалять - и вся логика разваливается.

Если у тебя такой вопрос, как тут, возник - ты делаешь что-то очень и сильно не так. Хочешь верь, хочешь нет.

Используй ORDER BY ... LIMIT... и будет все хорошо - из того, что тут прочитал. Для "циклов" в SQL придуман SELECT. И работать будет намного быстрее, чем ручные циклы по ключу.

6
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 26/12/10 в 00:56       Ответить с цитатойцитата 

ТС наверно не в курсе что mysql_fetch_assoc() можно юзать в цикле icon_lol.gif

1
 

>100 сайтов вебкам. ссылки.

С нами с 31.03.08
Сообщения: 2372
Рейтинг: 3463


Передовик Master-X (16.12.2016) Передовик Master-X (01.01.2017)
Ссылка на сообщениеДобавлено: 27/12/10 в 03:46       Ответить с цитатойцитата 

Pentarh писал:
ТС наверно не в курсе что mysql_fetch_assoc() можно юзать в цикле icon_lol.gif

Не в курсе, и не стесняюсь этого. Мои познания в MySQL ограничиваются способностью без шпаргалки составить запрос вида Select * From 'Table' Where ... .
За всем остальным лезу в инет. Спасибо за подсказку, посмотрю, что это за функция такая.

FXIX писал:
...Про ALTER TABLE почитай в мане...

smail54.gif Вот именно ради таких подсказок я и задавал свой вопрос. Конечно, если эта команда каждый раз создает новую таблицу и стирает старую, то ее не стоит применять. Спасибо!

ibiz писал:
...как программа (допустим 3 потока одновременно) узнает, какие ид им брать?...

Планирую сделать вспомогательную табличку, в которой будет сохраняться и постоянно актуализироваться "Progress-Point".
Каждый из потоков будет оттуда читать/туда писать, с какой строкой из базы он работает. Можно, конечно, добавить поле Status, где будет помечаться, обработана уже данная запись, или еще нет. Тогда можно, в принципе, и от id отказаться. icon_rolleyes.gif
Наверное, так и сделаю. Что-то вроде: Select key1, key2 From table Where Status = false Limit 1

С удовольствием выслушаю дальнейшую критику и замечания. А пока всем рейтинг и большое спасибо!

Продвижение сайтов в GOOGLE.COM и GOOGLE.DE. ICQ в профиле.

0
 

>100 сайтов вебкам. ссылки.

С нами с 31.03.08
Сообщения: 2372
Рейтинг: 3463


Передовик Master-X (16.12.2016) Передовик Master-X (01.01.2017)
Ссылка на сообщениеДобавлено: 27/12/10 в 03:56       Ответить с цитатойцитата 

Оффтопик:
Pentarh писал:
... Потому что в институте так учили? icon_smile.gif...

Когда я в институте учился, ни MySQL, ни интернета (в нынешнем его понятии) не существовало еще. icon_wink.gif

Продвижение сайтов в GOOGLE.COM и GOOGLE.DE. ICQ в профиле.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 27/12/10 в 09:37       Ответить с цитатойцитата 

sergio21 писал:
Можно, конечно, добавить поле Status, где будет помечаться, обработана уже данная запись, или еще нет. Тогда можно, в принципе, и от id отказаться. icon_rolleyes.gif
Наверное, так и сделаю. Что-то вроде: Select key1, key2 From table Where Status = false Limit 1
С удовольствием выслушаю дальнейшую критику и замечания. А пока всем рейтинг и большое спасибо!


если порядковость данных не важна, то так и надо делать

2
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 27/12/10 в 11:29       Ответить с цитатойцитата 

ТС, учил бы ты матчасть, а? Я думал ты хоть что то знаешь по клиент-серверному взаимодействию и архитектуре баз mysql, а тут оказывается вообще все запущено. Сходи на mysql.ru или еще куда нибудь.

0
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 27/12/10 в 21:47       Ответить с цитатойцитата 

sergio21 писал:

Планирую сделать вспомогательную табличку, в которой будет сохраняться и постоянно актуализироваться "Progress-Point".
Каждый из потоков будет оттуда читать/туда писать, с какой строкой из базы он работает. Можно, конечно, добавить поле Status, где будет помечаться, обработана уже данная запись, или еще нет.

лучше с флагами работай. добавь поле
Цитата:
enum('0', '1', '2') comment '0 - необработано. 1 - обработано. 2- обрабатывается'

пришел к победе коммунистического труда

6
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »