Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Кавычки лишние я пропустил... Код: plaintext Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 16:40 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 16:42 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
krvsa Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Работает:) Но разве очевидно, что в вашем скрипте меньше итераций? Мне лично не очевидно... считать надо... походу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 17:09 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Ну понаписали то... Sergei ObrastsovА как хранятся массивы в других системах, не задумывались? :) Не надо отвечать вопросом на вопрос, загадочно подразумевая что все дураки, и только вы умный. Sergei ObrastsovОбязательно. Все нужно доказывать. :) Не всем нужно доказывать. С некоторыми людьми спор бесполезен. А многомерная база данных подразумевает равенство всех измерений массива. В каше этого нет. Как раз на это и наткнулся автор топика CacheLotя это уже сделал, получил все существующие неповторяющиеся индексы на любом уровне, т.е. говоря Вашим языком получил "все вторые половинки ключей" Я не вижу вашего решения, но вряд ли вы что-то придумали кроме прямого перебора. А в "боевых" системах это неприемлимо. Sergei ObrastsovАга, я посмотрел. Без введения индексов это храние не стоит ничего. А с введением что вы получите, а? Подсказать или сами? Он использует индексы! на костер его! Ну подскажите, что же такое страшное мы получим? Я прямо таки теряюсь в догадках. Sergei ObrastsovНет, без индексов никуда. Только вы получите ту же самую структуру ^x(Производитель, товар). Вы этим гордитесь? :) А кроме нее еще кучу лишних таблиц. Ну и нафига, спрашивается? Нда... Тут уж нам с krvsa есть повод выдержать многозначительную паузу. Для начала, Сергей, поищите что такое нормализация и нафига она нужна? Это ответ на то, зачем нужно много таблиц. Да и в целом решение типв ^Global(тип, производитель, цвет, размер, год выпуска) В данном случае не приемлимо! Вы можете считать, но не сбивайте людей. Сделав один такой индекс, вы сами себя бьете по рукам. Если хотя бы предполагаются запросы типа "выбрать все для данного года выпуска", то практически сложно что-то придумать кроме прямого перебора всех узлов. А представьте, что данные занимают пару гигов хотя бы? И запросов будет ну хотя бы штук 10 =в секунду? Что вы будете делать в этом случае? Городить рядом еще один индексный глобал? Можно и так, но зачем с самого начала надевать штаны через голову? решение ^Global(тип, производитель, цвет, размер, год выпуска) имеет смысл, но когда каждый следующий индекс не имеет смысла без предыдущего. Например информация о классах каше хранится в структуре типа ^oddDEF(класс,"a",поле,15)=тип_поля В данном случае имя поля не имеет смысла без имени класса, и код значения 15 бессмысленен без класса и поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 21:10 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
мдя.... не ожидал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 21:46 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. Sergei ObrastsovА как хранятся массивы в других системах, не задумывались? :) Не надо отвечать вопросом на вопрос, загадочно подразумевая что все дураки, и только вы умный. Я не увидел там вопроса. Одни утверждения, причем сомнительные. А многомерная база данных подразумевает равенство всех измерений массива. В каше этого нет. Вот те на. А что же есть в Cache? Или без жестких ограничений и программировать неинтересно? Я не вижу вашего решения, но вряд ли вы что-то придумали кроме прямого перебора. А в "боевых" системах это неприемлимо. Ой. А что же такого еще есть в "боевых" системах, окромя индексов? Ничего нету, правда? Ну так и здесь та же фигня. Нда... Тут уж нам с krvsa есть повод выдержать многозначительную паузу. Для начала, Сергей, поищите что такое нормализация и нафига она нужна? "Для начала" не надо считать других глупее себя. Это так, к слову. Это ответ на то, зачем нужно много таблиц. Это неправильный ответ. Из серии "нас только так учили и по-другому мы не умеем". Да и в целом решение типв ^Global(тип, производитель, цвет, размер, год выпуска) В данном случае не приемлимо! Вы можете считать, но не сбивайте людей. Сделав один такой индекс, вы сами себя бьете по рукам. Если хотя бы предполагаются запросы типа "выбрать все для данного года выпуска", то практически сложно что-то придумать кроме прямого перебора всех узлов. А представьте, что данные занимают пару гигов хотя бы? И запросов будет ну хотя бы штук 10 =в секунду? Что вы будете делать в этом случае? Городить рядом еще один индексный глобал? Можно и так, но зачем с самого начала надевать штаны через голову? Не надо утрировать, хорошо? У человека простенькая задачка, максимум сотня-две записей. Вид запросов, надо полагать, он себе представляет прекрасно. Значит его эта структура устраивает. Кроме того, на таком объеме можно позволить себе и не заморачиваться с лишней индексацией, хватит и того, что есть. Выигрыш? Уже существующий основной индекс и отсутствие кучи таблиц. Все остальное можно сделать. А теперь по существу. Нет, я не предлагаю именно так структурировать БД. Нет, я так не делаю и не считаю это правильным. Только возможным. Доступно? ^Global(тип, производитель, цвет, размер, год выпуска) имеет смысл, но когда каждый следующий индекс не имеет смысла без предыдущего. Например информация о классах каше хранится в структуре типа ^oddDEF(класс,"a",поле,15)=тип_поля В данном случае имя поля не имеет смысла без имени класса, и код значения 15 бессмысленен без класса и поля Пожалуйста, не надо мне пояснять что такое иерархическая структура, я догадываюсь и так. Выводы: 1. Мне так и не доказали отсутствие многомерности в Cache. Ссылки на MDBMS несколько неуместны, мало ли у кого какие тараканы в избе. Никто не запрещает мне делать "кубы" или прочие массивы равной размерности. 2. С "псевдо-массивами" в Cache тоже пролет. Не надо смешивать горячее с зеленым . Я про логическое восприятие массивов данных и их физическое воплощение. Трудно реляционщикам с иерархическими структурами, все время хочется их подогнать под привычное. Сочувствую, много теряется при таком подходе. 3. Мы до этого еще не дошли, но я уже чувствую, что вопрос о "переборе" обязательно возникнет. Сразу напомню, что "перебор" есть везде. Даже если он скрыт в исполнителе запросов. 4. Жаль, что вы мне так и не ответили на поставленные мною вопросы. И вообще уклонились от темы массивов и индексов. А зря. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 01:50 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Сергей, у меня нет желания с вами спорить. Вы считате, что преуспевли в риторике - не буду вас переубеждать. Пусть ваша методика спора останется на вашей совести (а моя на моей :-). Sergei Obrastsovнас только так учили и по-другому мы не умеем Я боюсь предположить, как вы потребляете пищу. Наверное не так, как учили, да? Кстати, работать я умею по разному, и весьма малую часть из этого я взял из книг ;-) Sergei Obrastsov У человека простенькая задачка, максимум сотня-две записей. Во, к чему пришли то. А нафига наворачивать хранение? На сотню-две записей стандартное удобнее, не считаете? Sergei Obrastsov Блок А.Н.решение типа ^Global(тип, производитель, цвет, размер, год выпуска) Нет, я не предлагаю именно так структурировать БД. Нет, я так не делаю и не считаю это правильным. Нифига себе поворот. Я столько с вами спорю, доказывая, что в данном случае такое хранение неоправдано - и вот те раз, оказывается вы тоже так считаете. О чем спор то? Sergei Obrastsov1. Мне так и не доказали отсутствие многомерности в Cache. Ссылки на MDBMS несколько неуместны, мало ли у кого какие тараканы в избе. Никто не запрещает мне делать "кубы" или прочие массивы равной размерности. Утверждение, что многомерность подразумевает равность измерений вы проигнорировали. А руками знаете, и в аксесе можно сделать "многомерность". У нас аксес тоже "многомерная" СУБД ? Глобалы - не многомерные кубы, с этим согласитесь? Sergei ObrastsovТрудно реляционщикам с иерархическими структурами, все время хочется их подогнать под привычное. Сочувствую, много теряется при таком подходе. Смешно, но можно прокомментировать почти каждое слово вашего высказывания. >Трудно - да нет, нисколько. Поверьте на слово. Или тоже скажете - без доказательств недействительно? >Реляционщикам - Да я скорее С++ шник (Но ограниченно использую объкты каше) >все время - >хочется - >их подогнать под привычное - у меня нет привычного и непривычного. Есть знакомое и назнакомое >Сочувствую, много теряется при таком подходе - При моем подходе (использовать для каждой задачи наиболее удобные методы решения, также при решении знать, как работет движек) теряются только лишние проблемы. Я признал, что логически глобалы можно считать массивами. Перебор есть не всегда. Но в любом случае даже если мне надо выбрать 100 записей из 100000000 - я не пойду прямым перебором авторЖаль, что вы мне так и не ответили на поставленные мною вопросы. И вообще уклонились от темы массивов и индексов. А зря. :) У вас было много вопросов ни о чем, возможно я что-то пропустил --------------------------------------------------------------------- Суть вопроса, что автор создал "массив" данных и теперь не может с ним нормально работать. Причина ошибки в том, что автор ошибочно считал измерения "массива" равноправными. А я вот считаю, что эта структура - дерево, а не массив. Еще я утверждаю и в данной задаче удобнее использовать плоскую индексированную таблицу Одноуровневое дерево, либо одномерный массив, если хотите, но понятие таблица использовать здесь удобнее. В этом суть спора. Если вам есть что возразить по этому абзацу, говорите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 06:37 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. Sergei Obrastsov Блок А.Н.решение типа ^Global(тип, производитель, цвет, размер, год выпуска) Нет, я не предлагаю именно так структурировать БД. Нет, я так не делаю и не считаю это правильным. Нифига себе поворот. Я столько с вами спорю, доказывая, что в данном случае такое хранение неоправдано - и вот те раз, оказывается вы тоже так считаете. О чем спор то? Что значит "оправдано/неоправдано"? Человек говорит об использовании данных в индексах и как пример приводит гипотетическую задачу. Вы с kvrsa уже наворачиваете на это гигабайтное хранение и прочие премудорости? Нафига так утрировать-то? Что касается меня, то у меня таких простеньких задач нет, поэтому приходится использовать более общие подходы. Утверждение, что многомерность подразумевает равность измерений вы проигнорировали. Я всегда полагал, что многомерность равна многоуровневости. Причем тут равность измерений? А руками знаете, и в аксесе можно сделать "многомерность". У нас аксес тоже "многомерная" СУБД ? Access - плоские таблицы. Где вы там собрались делать многомерность? Глобалы - не многомерные кубы, с этим согласитесь? Глобалы - это глобалы. А уж что я из них захочу сделать, то и получится. И одномерные массивы, и плоские таблицы, и многомерные "кубы", если захотите. Я признал, что логически глобалы можно считать массивами. Честь и хвала. Осталось только убедиться в том, что из них можно делать все, что угодно. Поскольку они не фиксированы размерностью. Перебор есть не всегда. Но в любом случае даже если мне надо выбрать 100 записей из 100000000 - я не пойду прямым перебором А я говорил про прямой перебор? По-моему речь шла о переборе вообще. Разве я отрицаю необходимость индексов? Суть вопроса, что автор создал "массив" данных и теперь не может с ним нормально работать. Причина ошибки в том, что автор ошибочно считал измерения "массива" равноправными. А я вот считаю, что эта структура - дерево, а не массив. В Cache, как и вообще в M, все структуры - деревья. И одновременно массивы. Может хватит уже так уклончиво об этом говорить. Почему это X(A1,A2) - это массив, а ^X(A1,A2) - уже нет? А что насчет структуры автора, то я не думаю, что ему потребуются запросы типа "количество процессоров с разбивкой по производителям". Еще я утверждаю и в данной задаче удобнее использовать плоскую индексированную таблицу Одноуровневое дерево, либо одномерный массив, если хотите, но понятие таблица использовать здесь удобнее. Это ваше право, опять же. Только к нему вы пристроите минимум 3 индекса и получите 6 массивов. Учитывая что многофункциональных запросов к этой задаче быть не может, то возникает вопрос - а нафига этот огород нужен? Чтобы как у всех? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 07:12 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
авторВы с kvrsa уже наворачиваете на это гигабайтное хранение и прочие премудорости Когда мы говорим о неоптимальности, вы говорите "задача на сотню-другую записей", а когда о занимаемом месте - "гигабайтное хранение". Вы уж определитесь как-нибудь. А вообще мы предлагаем самое простое хранение. В данной задаче (по крайней мере той части, что мы видели) хранение данных в индексах как зайцу пятая нога. И вы конечно же это понимате, но из каких-то принципов сопротивляетесь. Sergei ObrastsovЯ всегда полагал, что многомерность равна многоуровневости. Причем тут равность измерений? Неверно. Сколько уровней в здании, где вы работает и сколько размерностей? В размерностях вы можете перемещаться в любой сторону - вправо, влево и даже подпрыгнуть вверх, а вот по уровням (этажам) вам приедтся перемещаться последовательно. Sergei ObrastsovAccess - плоские таблицы. Где вы там собрались делать многомерность? Каше - деревья. Однако же сделали и таблицы и классы. Sergei ObrastsovА я говорил про прямой перебор? По-моему речь шла о переборе вообще. Разве я отрицаю необходимость индексов? В предложенной автором задаче остается примой перебор (из-за неоптимального проектирования данных). А индексы - да, это "гигабайтное хранение", вы его отрицаете. Sergei ObrastsovА что насчет структуры автора, то я не думаю, что ему потребуются запросы типа "количество процессоров с разбивкой по производителям А я вот таких предположений что "не потребуется" не делаю (и опыт подтверждает - да, скорее всего потребуется). И куда потом идти с таким единственным жестко заданым индексом? Прямой перебор? автормногофункциональных запросов к этой задаче быть не может Такое ощущение, что вы в курсе задачи и сами предложили автору такое хранение? Пока только этим объясняется такое яростное отстаивание этого типа хранения (неоправданного на мой взгляд) и такие для пророческие(для постороннего человека) утверждения. автора нафига этот огород нужен И действительно - нафига? Тем более из-за этого огорода придется перебирать все данные вручную при любом нестандартном запросе. А простое дефолтное хранение позволяет легко перестраиваться под любые новые запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 08:37 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
CacheLot , дело даже не в количестве итераций... Думаю мой вариант будет работать быстрее (проверьте если не трудно), чем больше будет ваш массив. Поскольку в вашем варианте он читается N-раз, а у меня один. Правда мой текст "медленнее". Меня попрежнему интересует для чего вам нужны такие select? Какой в них смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 08:44 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Когда мы говорим о неоптимальности, вы говорите "задача на сотню-другую записей", а когда о занимаемом месте - "гигабайтное хранение". Вы уж определитесь как-нибудь. Про "гигабайты" заговорили вы, а не я. В данной задаче (по крайней мере той части, что мы видели) хранение данных в индексах как зайцу пятая нога. И вы конечно же это понимате, но из каких-то принципов сопротивляетесь. Я не вижу в этом ничего плохого. В условиях этой задачи. Sergei ObrastsovЯ всегда полагал, что многомерность равна многоуровневости. Причем тут равность измерений? Неверно. Сколько уровней в здании, где вы работает и сколько размерностей? В размерностях вы можете перемещаться в любой сторону - вправо, влево и даже подпрыгнуть вверх, а вот по уровням (этажам) вам приедтся перемещаться последовательно. То есть двумерный массив, это не A(x,y), как я полагал, а A(1-2)? Я вас правильно понял? Sergei ObrastsovAccess - плоские таблицы. Где вы там собрались делать многомерность? Каше - деревья. Однако же сделали и таблицы и классы. В Cache можно сделать почти все, а вот наоборот вряд ли получится. Потому повторяю вопрос. Sergei ObrastsovА я говорил про прямой перебор? По-моему речь шла о переборе вообще. Разве я отрицаю необходимость индексов? В предложенной автором задаче остается примой перебор (из-за неоптимального проектирования данных). А индексы - да, это "гигабайтное хранение", вы его отрицаете. Не надо мне приписывать то, чего я не говорю. В прошлом письме я говорил что не имею ничего против индексов. Если они не зряшные. А я вот таких предположений что "не потребуется" не делаю (и опыт подтверждает - да, скорее всего потребуется). И куда потом идти с таким единственным жестко заданым индексом? Прямой перебор? Нет, дополнительные индексы. Как и у вас. Если вдруг возникнет такая необходимость. Хотя, если она вдруг возникнет, то встанет вопрос об осмысленности первоначальной структуры. Такое ощущение, что вы в курсе задачи и сами предложили автору такое хранение? Пока только этим объясняется такое яростное отстаивание этого типа хранения (неоправданного на мой взгляд) и такие для пророческие(для постороннего человека) утверждения. Просто я представляю что он делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 09:10 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
авторПро "гигабайты" заговорили вы, а не я. Мы заговорили о гигабайтных объемах данных, также о том, что предложенный нами подход успешно работает с этими данными. Вы почему-то передергиваете и ставите все наоборот - раз мы используем такой подход, то у нас "гигабайтное хранение". Меня ваша методика спора уже серьезно раздражает. Вы ничего не говорите, но постоянно передергивате слова, пытаясь поставить подножку, при этом стараетесь сами стараетесь ничего не сказать по делу. авторЯ не вижу в этом ничего плохого. В условиях этой задачи. А я вижу. Именно в условиях данной задачи. Зато вы почему-то видите что-то плохое в стандартном хранении. Все это напоминает переливание из пустого в порожнее. авторТо есть двумерный массив, это не A(x,y), как я полагал, а A(1-2)? Я вас правильно понял? А теперь на более русском можно? авторВ Cache можно сделать почти все, а вот наоборот вряд ли получится. Потому повторяю вопрос. Где повторяете? Я не вижу повторенного вопроса. Это? "Где вы там собрались делать многомерность?" Лично я и именно в аксессе не собираюсь делать многомерное представление OLAP - кубы делают разве не поверх реляционных таблиц? Что-то такое можэно сделать даже в экселе авторВ прошлом письме я говорил что не имею ничего против индексов. Если они не зряшные. Как раз вы отставаете необходимость именно зряшного. А необходимость других индексов вы отрицатете, т.к. это "гигабайтное хранение" Впрочем я уже раза три наверно сказал все, если не будет новых аргументов, то говорить дальше не о чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 09:48 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Ребята, давайте жить дружно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 10:04 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
Вообще я считаю лучше придерживаться стандартного хранения, если это возможно. Ибо все нестандартное неизбежно ведет к ошибкам, трудности дальнейшей доработки и сопровождения. Вы ведь можете уйти, а другому человеку это разгребать и дописывать что-то. Сам сталкивался с таким, трудно очень бывает разобраться где и что лежит и за что отвечает, особенно если нет никакого описания (на что часто не хватает времени у разработчиков). К тому же при нестандартном хранения вы сразу отсекаете возможность доступа к данным через SQL, что очень удобно бывает порой. Лучше несколько лишних глобалов в системе, чем головная боль и геморрой на жёппе. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 11:57 |
|
||
|
функция $O или что то другое..?
|
|||
|---|---|---|---|
|
#18+
NoGot , задачи-то разные бывают. Т.ч. не стоит отказываться от "простого" хранения в глобалах со сложным ветвлением, если ето будет давать хорошее ускорение при обработке данных... ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 13:04 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35234361&tid=1558936]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 331ms |

| 0 / 0 |
