Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:03 01.07.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Тема Vypros za SQL SELECT zajavkaнови  
Авторdim (Нерегистриран)
Публикувано05.12.03 15:16



Zdravejte,

ima li variant v SQL zajvkata (interesuva me za MySQL ili PostgreSQL ), da se ukaje na SELECT da spre da tyrsi kogato e otkril opredelen broj resultati. Ne znam dali sym prav, no maj pyrvo se izchita cialata tablica i sled tova se izpluva resultata?



Blagodarja na vsichki otgovorili



Тема Re: Vypros za SQL SELECT zajavkaнови [re: dim]  
Автор phpGuruАдминистратор (минаващ)
Публикувано05.12.03 15:52



и двете имат LIMIT клауза

http://www.mysql.com/doc/en/SELECT.html
http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-select.html



Тема Re: Vypros za SQL SELECT zajavkaнови [re: dim]  
Автор salle (един такъв)
Публикувано06.12.03 14:55



Погледни също:



и вземи да пишеш на Български



Тема Re: Vypros za SQL SELECT zajavkaнови [re: dim]  
Автор AcidMemory ()
Публикувано08.12.03 00:22



погледни и mysql_unbuffered_query - това е в PHP, но ако ти трябва за нещо друго, просто виж еквивалента ...



Тема Re: unbuffered e съвършено друго нещонови [re: AcidMemory]  
Автор salle (един такъв)
Публикувано08.12.03 09:36



mysql_unbuffered_query() в PHP използва C функцията
mysql_use_result() за разлика от mysql_query() (в PHP), която използва mysql_store_result()






И двете нямат никакво отношение към въпроса тъй като и двете се изпълняват след като C функцията mysql_query() или mysql_real_query() e приключила без грешка. т.е. след като заявката вече е изпълнена и резултата е приготвен на сървъра. Забележи - след като целия резултат е приготвен.

Разликата е единствено в това дали клиента дърпа резултата наведнъж или ред по ред

Редактирано от salle на 08.12.03 09:42.



Тема mne [re: salle]  
Автор AcidMemory ()
Публикувано08.12.03 10:32



абсолютно правилно, но не смятам, че няма връзка към въпроса

щом изпълняваш SELECT, значи имаш клиент - няма какво повече да кажа ...

това как MySQL организира работата с resultset-а не е работа на този, който го използва (ако иска може да prepare-ва целия резултат и да знае броя на редовете, ако иска може и да не го прави)



Тема Taka ste se vyrne sluchaen rezultatнови [re: dim]  
Автор NikB (любопитен)
Публикувано08.12.03 14:28



Niamam mnogo opit s MySQL, no ako rezultat na clienta se ochakva predi queryto da se izpylni napylno na servera, to tozi rezultat ste vkliuchva sluchaina izvadka ot zapisi, otgovariasti na selecta.
Pisah "sluchaina", no v deistvitelnost tia zavisiat ot algoritmite na server-a i niama garancia, che vsichki versii rabotiat i ste rabotiat ednotipno.



Тема Re: Taka ste se vyrne sluchaen rezultatнови [re: NikB]  
Автор salle (един такъв)
Публикувано08.12.03 15:03



Ами то това е от АБВ на релационните бази данни. Ако нямаш ORDER BY клауза сървъра има право да ти върне резултата в произволен ред.



Тема Re: Taka ste se vyrne sluchaen rezultatнови [re: salle]  
Автор NikB (любопитен)
Публикувано08.12.03 15:51



Sledovatelno, v sluchaia ste e proizvolna izvadka - nali tova mu pisah



Тема Re: определено грешиш [re: AcidMemory]  
Автор salle (един такъв)
Публикувано08.12.03 17:48



Първоначалният въпрос беше:

"ima li variant v SQL zajvkata (interesuva me za MySQL ili PostgreSQL ), da se ukaje na SELECT da spre da tyrsi kogato e otkril opredelen broj resultati"

Има ли начин .... да спре да търси когато намери определен брой редове.

Отговорът е: Има начин и това е SELECT

Защото ако си погледнал препратката която дадох


щеше да разбереш, че ако имаш таблица a с 1 000 000 реда

SELECT a FROM b ORDER BY a LIMIT 10;
например ще СПРЕ да търси в таблицата a след като намери първите 10 реда.

Докато това за което ти говориш - да се използва mysql_use_result() за да се вземат само първите 10 реда означава да накараш сървъра да приготви като резултат всичките 1 000 000 реда от които ти да си дръпнеш само 10. Тъй, че твоя съвет е да се натовари сървъра с огромни данни които клиента може и да не ги ще. Не вярвам да намериш някой на когото тази идея да му хареса.

Между другото mysql_use_result() съществува поради съвършено друга причина и не неможе да се използва за да изтеглиш част от резултата.

Съветвам те внимателно да прочетеш за какво е тази функция
и да обърнеш особено внимание на това

When using mysql_use_result(), you must execute mysql_fetch_row() until a NULL value is returned, otherwise, the unfetched rows will be returned as part of the result set for your next query. The C API will give the error Commands out of sync; you can't run this command now if you forget to do this!




Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.