Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Вниз

Упорядочивание в базе данных   Найти похожие ветки 

 
Piter   (2004-02-01 21:05) [0]

Никто не подскажет такую вещь... Вот есть в базе поле Number допустим. В нем хранится целое число. Можно ли как-нибудь упорядочить базу по убыванию этого поля? Типа чтобы Table.First это была запись с наибольшим значением поля Number. Или хотя бы просто узнать какая запись имеет больше значение этого поля. И какая запись имеет второе по велечине значение поля Number и т.д.


 
Sergey_Masloff   (2004-02-01 21:18) [1]

Ну то есть об индексах ты пока ничего не слышал?


 
Плохиш   (2004-02-01 21:33) [2]

и о SQL


 
Anatoly Podgoretsky   (2004-02-01 21:46) [3]

и о базах


 
Piter   (2004-02-01 22:42) [4]

Sergey_Masloff

об индексировании базы слышал. Это позволяет быстрее сортировать по нужному полю. Только не понял, причем здесь это?

Плохиш
о SQL слышал. Вот и подскжи как оформить нужный мне запрос.
Проблема еще в том, что база данных не выбрана: http://delphimaster.net/view/3-1075658717/

Anatoly Podgoretsky
спасибо за ответ. Может, вы удалите свое сообщение с "Комментарий модератора: Offtopic" ?


 
Anatoly Podgoretsky   (2004-02-01 22:47) [5]

1. прямое
2. Local SQL, но тебе не грозит
3. это решать модератору


 
Плохиш   (2004-02-01 22:53) [6]

Добрый, добрый АП

А я сделаю чёрное дело и убью ещё одного конкурента :-|

ордер бы майсуперпупериндексфиелд деск

:-|


 
Sergey_Masloff   (2004-02-01 23:11) [7]

Piter © (01.02.04 22:42) [4]
>об индексировании базы слышал. Это позволяет быстрее >сортировать по нужному полю.
Ну дык ты слышал звон но не знаешь где он ;-) Пойми, нам не жалко объяснить, но в двух словах это не скажешь. Можешь считать что индекс это и есть твоя таблица упорядоченая по определенному полю (группе полеей). Что на самом деле это не совсем так пока можно не принимать во внимание.


 
Piter   (2004-02-02 02:03) [8]

>Anatoly Podgoretsky © (01.02.04 22:47) [5]

злой вы. Какой смысл писать сообщение, если вы ничем мне не поможете? Просто так, рассказать мне, что я ламер?

Sergey_Masloff (01.02.04 23:11) [7]
все здорово. Но каким образом это может мне помочь?
Вообще, у меня вопрос по ORDER BY - работает ли он для НЕ индексированных полей? И он применим только к полям-числам? А если поле будет текстовое?
Просто вот у меня в Тейксере и Пачеко нет описания такого оператора, поэтому я и не знал, что он есть. И даже не знаю где бы про него посмотреть. Ну в хелпе дельфовом понятное дело нету, поставил firebrid - там вообще документации почти нету, только описания багов... Книжку бы, конечно, по SQL купить надо - да только сейчас денег нема...


 
sveta   (2004-02-02 05:54) [9]

ORDER BY работает и по текстовым, и по числовым полям. По умолчанию он сортирует по возрастанию. Если хочешь по убыванию - добавь DESC.


 
Sergey_Masloff   (2004-02-02 06:51) [10]

>Вообще, у меня вопрос по ORDER BY - работает ли он для НЕ >индексированных полей?
Работает. Но плохо (в смысле медленно). В принципе если выборка маленькая то не страшно.

>И он применим только к полям-числам? А если поле будет >текстовое?
К любым


 
sniknik   (2004-02-02 08:29) [11]

> Просто вот у меня в Тейксере и Пачеко нет описания такого оператора
это команда из SQL см. хелп по LOCAL SQL он есть в дельфях. быстрее найдеш.

> злой вы. Какой смысл писать сообщение, если вы ничем мне не поможете? Просто так, рассказать мне, что я ламер?
здесь не служба поддержки с целью помоч вам, а форум с целью пообщатся. каждый может говорить что хочет (если не в разрез с правилами, модератор не вырезал значит нормально)


 
chtr   (2004-02-02 08:36) [12]

c:\Program Files\Common Files\Borland Shared\BDE\localsql.hlp


 
Piter   (2004-02-02 15:50) [13]

Работает. Но плохо (в смысле медленно). В принципе если выборка маленькая то не страшно

А у меня еще вот такой экспериментальный вопрос. Если есть текстовое поле - то как быстро будет осуществлен по нему поиск? Ну например база мегабайт на 100. Компьютер... ну допустим что-то около P3-500 Мгц. И насколько будет быстрее, если это поле индексировано? Или индексация на поиск не влияет?

ORDER BY работает и по текстовым, и по числовым полям

По числовым понятно... а по текстовым как? Где больше букв - та запись и считается бОльшей?


 
DenK_vrtz   (2004-02-02 15:56) [14]

>Piter © (02.02.04 15:50) [13]
>По числовым понятно... а по текстовым как? Где больше букв - та запись и считается бОльшей?

если уж так все запущено, то хотя бы попробовать можно?


 
Piter   (2004-02-02 16:21) [15]

DenK_vrtz
нет, нельзя. Сейчас нету Delphi, потому и спрашиваю. Извини


 
Piter   (2004-02-03 14:24) [16]

скажите.. а то я что-то не догоняю никак.


 
Johnmen   (2004-02-03 14:36) [17]

:)))

>Piter © (03.02.04 14:24)

Чтобы догонять, надо много вдумчиво читать. Кавалерийский наскок полезен в конных войсках...
Прилюдное чтение литературы (постирование сюда выдержек из книг) не приветствуется...:)


 
sniknik   (2004-02-03 16:04) [18]

> нет, нельзя. Сейчас нету Delphi, потому и спрашиваю. Извини

> скажите.. а то я что-то не догоняю никак.
без дельфи дельфи не догнать. ;)


 
Piter   (2004-02-03 17:07) [19]

Шутники блин :)

Ну скажите просто одну вещь - как работает ORDER BY с текстовыми полями? Каким образом упорядочивает, по какому критерию?

И индексация по текстовому полю позволяет сделать поиск по этому полю более быстрым?

Потому что у меня будет поиск практически по всем полям... это что, значит такую тучу индексов строить?


 
Плохиш   (2004-02-03 17:11) [20]

>Piter © (03.02.04 17:07) [19]
Может лучше в дворники переквалифицируешься?


 
Sergey_Masloff   (2004-02-03 17:27) [21]

Да, ну и ну... Отсутствие дельфи такие вопросы не оправдывает. Я бы вообще к компьютеру не подпускал людей (если они программистами хотят стать) до внимательного изучения хотя бы пары-тройки книжек.
Эффективность поиска по индексу O(log2(N)) где N размерность входных данных. Эффективность линейного (без индекса) поиска
O(N) так что можешь сравнить сам.
P.S В форуме программировать не научишься. Забрось компьютер, посиди полгодика хотя б над книжками... Просто сам себя загонишь в тупик.


 
Piter   (2004-02-03 22:54) [22]

У меня встал вопрос - если напишу клиент - под каким ником его опубликовать? Хм, а то ведь опубликую под Piter - никто качать не станет... вот блин. Обвинили во всех смертных грехах. Профессионалы, блин :)

Плохиш (03.02.04 17:11) [20]
ну только если начальником над тобой :)

P.S. Sergey_Masloff, а может скажешь последнюю вещь - это разумно индексировать все поля по которым будет производиться поиск (а это почти все поля в таблице)? Оборотной стороны медали нету, кроме занимаемого размера?


 
Sergey_Masloff   (2004-02-03 22:59) [23]

Piter © (03.02.04 22:54) [22]

>а может скажешь последнюю вещь - это разумно индексировать все >поля по которым будет производиться поиск
что значит последнюю? Я думаю в своей жизни еще немало чего скажу ;-)

>Оборотной стороны медали нету, кроме занимаемого размера?
Есть. Дольше вставка так как индекс нужно строить. Так в принципе в основном конечно объем индексов. Да, еще, по длинному строковому полю индекс лучше не строить. Если у тебя поле скажем больше 60 символов то строить индекс наверное неразумно (а в некоторых СУБД и невозможно)


 
sniknik   (2004-02-03 23:06) [24]

> Оборотной стороны медали нету, кроме занимаемого размера?
как нету, есть (у всего есть, нет?)
любой индекс замедляет время на изменения таблици, особенно заметно при добавлении большого количества данных, чаще быстрее получается сначала отключить индексы (удалить), добавить, а после сделать полную переиндексацию заново чем добавлять на индексы.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.009 c
3-93763
SPIRIT
2004-02-04 10:29
2004.02.29
SQL Запрос


14-94179
Nelud
2004-02-07 12:10
2004.02.29
Проблема с RW


3-93800
Ш-К
2004-02-03 15:19
2004.02.29
Master / Detail


14-94124
MPS
2004-02-08 10:30
2004.02.29
Драйвер модема для линукс! help!!!


14-94132
Думкин
2004-02-09 06:30
2004.02.29
С днем рождения! 9 февраля.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский