Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.01.2010, 10:34
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
В суперклассе есть некий набор свойств - св1,св2,св3... Для всех инстансов любого его наследника эти свойства одинаковы (в пределах класса-наследника). Т.е. для экземпляров некоего "Класса 1" св1 всегда равно 1, а св2 - всегда "зеленый"... а вот для всех экземпляров "Класса 2" св1 всегда равно 2, а св2 - всегда "Вася". Напрашивается использование параметров вместо свойств. Кто-то юзал подобные структуры? Интересует, как это через SQL можно будет выкрутить (будет ли производительность выше... или хотя бы сравнима с использованием свойств?) и какие могут быть грабли? Собирать данные (в основном) буду через sql-проекцию суперкласса. А работать с инстансами - через интерфейсы наследников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.01.2010, 15:25
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
kolesovНапрашивается использование параметров вместо свойств. Что-то я не припомню знает ли SQL про параметры вообще. А напрашивается тут скорее всего переопределение свойств. Или, если нужно запретить их изменение, переопределение вычисляемых свойств. По вычисляемым свойствам вроде как в новых кашах индекс строить можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.01.2010, 17:23
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
PtnПо вычисляемым свойствам вроде как в новых кашах индекс строить можно. "Не верю" (с) А в общем, я уже на свойствах сделал... Правда ощущения неприятные - как представлю эти пару миллионов хранящихся и отиндексированных единичек... ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.01.2010, 18:39
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
kolesovПравда ощущения неприятные - как представлю эти пару миллионов хранящихся и отиндексированных единичек... ;( Даже не совсем понятно зачем вообще нужны такие "свойства", если все определяется "именем класса"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 17:22
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
kolesovPtnПо вычисляемым свойствам вроде как в новых кашах индекс строить можно. "Не верю" (с)( вот kolesovА в общем, я уже на свойствах сделал... Правда ощущения неприятные - как представлю эти пару миллионов хранящихся и отиндексированных единичек... ;( Я так понял без индекса все равно не обойтись. Другое дело для различия типов объекта действительно достаточно имени класса, оно все равно храниться в любом индексе. Доступно в виде скрытого sql поля x__classname. Для базового класса всегда пустое, для предков содержит список наследования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 18:12
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Ptn, вспомнил про свои давнишние (неудачные) опыты, но тогда я пытался использовать поле %ClassName, решил повторить и заодно посмотреть на x__classname. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. Код: plaintext #IDP1Literal_3x__classname11Z8389Test.A22H5475Test.A33Y8929Test.A44M4855Test.A55W7867Test.A66E4937Test.A~Test.B~77Z7624Test.A~Test.B~88N3096Test.A~Test.B~99O3214Test.A~Test.B~1010S3530Test.A~Test.B~ а вот что в индексе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 18:19
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Ну и еще попробовал сделать третий класс Код: plaintext 1. 2. 3. Код: plaintext и индексы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 18:26
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Ptn, x__classname юзаем во-всю... а индексы по компьютед-полям, это бред... в том смысле, что по-принципу глупо надеяться, что это будет работать ;) сложное никогда приемлемо не работает.... а подклассов, пока приблизительно 15-ть... причем одинаковым "св1" являются для 5-ти из них... и, получается, что параметр все равно более выгоден, чкм что-либо другое (если бы не сцуко, sql)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 19:49
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Не очень понимаю чем именно параметр выгоднее... Если желаете делать SQL выборки по значениям св1-св3 то полюбому придется использовать индекс по ним. Если же выборка идет по каким то своим критериям - и потом нужно быстро определить св1-св3 по ID - ну да можно впихать их в параметры и добавить SQL-процеду для получения значения поля по ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 19:53
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Блок А.Н.Ptn, вспомнил про свои давнишние (неудачные) опыты, но тогда я пытался использовать поле %ClassName, решил повторить и заодно посмотреть на x__classname. %ClassName ... Блин ... а я свое прикручивал... тьфу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.01.2010, 21:10
|
|||
|---|---|---|---|
Параметр класса и SQL |
|||
|
#18+
Ptn, а что с %ClassName? В SQL это вообще какое-то бесполезное поле, я смотрел в скомпиленный запрос, оно там просто текстом ставится, если селект делаем из таблицы A, то оно текстом просто ставится "Test.A", нет проверки на то, к какому же классу на самом деле принадлежит запись. А вот в объектном доступе вроде нормально работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=39&mobile=1&tid=1558255]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 538ms |

| 0 / 0 |
