|
|
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
Результат тестирования на 10 000 записей при выборки из 8 таблиц по внешним ключам! Делаем выводы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 10:51 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
тоже самое только без внешних ключей (MYISAM) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:31 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
Сравнение INNODB и MYISAM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:32 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
schizophrenicРезультат тестирования на 10 000 записей при выборки из 8 таблиц по внешним ключам! Делаем выводы!Не будет это работать. Вы просто до реального создания системы не представляете, какие запросы в неё пойдут. Простой пример - 2 условия с диапазонами по 2-м атрибутам. Сервер будет в таких случаях выбирать два списка, подкачивать документы по каждому и мержить. Ну или ещё какой то похожий затратный план. Пока у вас был единственный нормальный аргумент: schizophrenicесли у меня будет такое количество записей, то я не буду парится на это счет, а буду отдыхать на Кенарах )) Т.е. если реальная эксплуатация системы не планируется, то ваша схема совершенно нормальная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 13:02 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
авторРезультат тестирования на 10 000 записей при выборки из 8 таблиц по внешним ключам! сам запросик покажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:57 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#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. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 17:08 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
schizophrenic, любопытно, почему вы как "идентификатор" документа используете строку? при тестировании, вы забили базу 10тыс доками и дергали по очереди setDocument и getDocument? если так, то это ваще не показатель. как я понимаю база с документами - для сайта, попробуем предположить какие могут быть запросы 1. Выбрать все статьи (заголовок, автор, описание) относящиеся к некоторому разделу за 2010й год(или которые были изменены в 2010м), с обратной сортировкой по дате. я что-то не понял где это у вас, предположим Attributes, и не забудем про пэйджинг. и для разнообразия добавьте LIKE Код: plaintext 1. 2. 3. 4. 5. 6. 7. ещё, обычно можно сортировать списки, по дате, автору, названию повторите тот же запрос только с order by Titles.Value потом order by Name.Value 2. Вывести список авторов, и количество статей, которые они написали за июнь 2010? (примерно) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. вот, два этих запроса погоняйте, и покажите как они у вас летают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 19:30 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
Кифирчик, не мечите бисер... У меня после взгляда на сетдокумент() вообще создалось впечатление, что это Джерик прочитал наконец-то чего-то по эскуэлю и выполз на форум под новым ником. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 20:03 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
schizophrenic Код: 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. На правах оффтопа. А у Вас действительно все связи между таблицами необязательные? Я имею ввиду LEFT OUTER JOIN. Уж соединение с BASE.Page и BASE.Attributes точно должно быть INNER JOIN'ом просто в силу условий во WHERE. tanglirКифирчик, не мечите бисер... У меня после взгляда на сетдокумент() вообще создалось впечатление, что это Джерик прочитал наконец-то чего-то по эскуэлю и выполз на форум под новым ником.Не он. Их роднит только то, что оба считают чрезвыйчайно веселым уверенно нести чепуху. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 08:25 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
присоединяюсь, работа с такой структурой геморой ещё тот, 1. вместо одного инсерта на сделать последовательно 1..n инсертов (по колву атрибутов документа), получить их id (ещё вопрос скорости получения этих id). Время вставки грубо говоря увеличивается в 1..n раз. Таже песня с апдейтом. 2. увелечение сложности объёма кода (выборка, вставка, изменение, удаление (каскадное надо организовывать как-то)) в n раз. 3. Никакой пользы акромя вреда. Работать то она конечно будет, и на сайте не так много данных и я конечно понимаю, если можно сделать сложно, зачем делать просто? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 16:09 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmka, ну почему сразу геморрой! предположим мне необходимо организовать поиск по сайту (расширенный) Код: plaintext 1. 2. Что я делаю, я тупа ищу заголовок в таблице Titles тело в Bodys и даты в Dates То есть я просто беру ID совпадений и начинаю искать и сравнивать с таблицей Documents в чем геморрой? в сложности сравнения ID? или в том что нужно подготовить ряд грамотных процедур? по вашему если зарегистрировано тысяча Ивановых или Петровых значит нужна таблица типа: ID Nickname Name Surname1 User1 ВасяИванов2 User2 ДимаИванов3 User3КоляИванов4 User4ПетяИванов5 User5ГришаИванов6 User6ПетяИванов7 User7ГогиИванов8 User8ГогиПетров а может правильнее: Users (Nickname - уникальные) ID Nickname Name Surname1 User1 112 User2 213 User3314 User4415 User5516 User6417 User7618 User862 Names (Value- уникальные) ID Value1 Вася2 Дима3 Коля4 Петя5 Гриша6 Гоги Surnames (Value- уникальные) ID Value1 Иванов2 Петров Что так сложно ID сравнивать или это лень процедуры собирать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 16:42 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
а вот тут и возникла мысль совместить Names и Surnames да еще и кинуть туда все Nickname, ведь все выше упомянутые уникальные вот и получилось: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 16:45 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmka, так что 1НФ глупо, 2НФ хорошо и грамотно! но я все же остановился на 3НФ извините но ни одного нормального довода я не услышал, только скуление по то что это не правильно, а почему так никто ни сказал, мол это и так понятно... я не иду по принципу 2НФ (это видимо Ваш предел) я иду дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 16:54 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
Senya_LА у Вас действительно все связи между таблицами необязательные?действительно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 16:59 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
с таким подходом можно нормализовать все текстовые поля, ведь там может встречаться очень много одинаковых слов, к примеру сделать справочник слов, чтобы не городить широкую таблицу можно её транспонировать, заменить все слова на id и будет просто супер, а потом можно ещё даты разделять и хранить отдельно дни/месяцы/годы в принципе можно и со временем так поступить :) а ещё можно слова разделить они ведь состоят из отдельных букв.... какое широкое поле деятельности :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:00 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmka, вы Язвите! а то сути я прав, просто народ боится такой правды, с такой архитектурой действительно сложно работать... но все таки я прав, так ведь грамотнее? скажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:03 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
просто демагогия, все минусы были описаны, а плюсов просто нет. Грамотно постореная БД это оптимальный баланс между нормализацией и денормализацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:04 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
по вашему правда это только нормализация... к сожалению это не так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:06 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmkaГрамотно построенная БД это оптимальный баланс между нормализацией и денормализациейсогласен но обстоятельно, исходи из поставленной задачи, такая структура наиболее бифуркационна.. что касаемо доводов их не было, были сомнения относительно выборки, но это не довод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:08 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmkaпо вашему правда это только нормализацияда! да и еще раз да! Докажите обратное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:10 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
rmka, нормализация основа любого проектирования, наименьшее сопротивление, минимализм в конце концов! Вы вообще о чем? структурирование данных это составляющая процесса нормализации! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:14 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
schizophrenicrmkaпо вашему правда это только нормализацияда! да и еще раз да! Докажите обратное!Делайте как нравится. Переубеждать Вас никто не собирается . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:34 |
|
||
|
База для сайта #2
|
|||
|---|---|---|---|
|
#18+
schizophrenicrmka, нормализация основа любого проектирования, наименьшее сопротивление, минимализм в конце концов! Вы вообще о чем? структурирование данных это составляющая процесса нормализации!Основа любого проектирования - достижение цели проекта. Нормализация - это не цель проекта, а средство, методология, ... Вот и применяйте нормализацию целей добра :-) Вы вот в записной книжке фамилии-имена по простому пишете, словами, или у вас есть отдельные странички с фамилиями и именами, а персоны записываете ссылками? 23|44|211 - Это Иванов Пётр Николаевич :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 18:11 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36743749&tid=1542622]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 510ms |

| 0 / 0 |
