PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 12
bob4ik Отправлено: 01 Марта, 2016 - 20:49:00 • Тема: Поиск функции • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 32
-----
решил сам
bob4ik Отправлено: 04 Января, 2016 - 18:09:06 • Тема: Совет по индексам • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 65
спасибо
bob4ik Отправлено: 04 Января, 2016 - 15:02:25 • Тема: Совет по индексам • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 65
самые частые запросы (так как эти запросы выполняются при открытии страницы, а другие уже для разного типа сортировок):
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. WHERE `player_id` = :id AND `alias_id` = :alias
  3. WHERE `player_id` = :id AND `alias_id` = :alias ORDER BY `int_1`
  4. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero
  5. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero ORDER BY `int_1`
  6.  

COUNT'a в запросах не будет.
а в дальнейшем, создавать индексы по нескольким полям?
bob4ik Отправлено: 04 Января, 2016 - 14:42:02 • Тема: проверка с применением сравнение • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 87
cibin пишет:
Viper пишет:

и в чём ошибка?


"and" после "WHERE"
bob4ik Отправлено: 04 Января, 2016 - 14:39:45 • Тема: Совет по индексам • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 65
Добрый день Растерялся

Есть вот такая таблица:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `oh_gameplayers` (
  2.   `id` bigint(20) UNSIGNED NOT NULL,
  3.   `player_id` int(11) UNSIGNED NOT NULL DEFAULT '0',
  4.   `alias_id` tinyint(2) UNSIGNED NOT NULL DEFAULT '0',
  5.   `year` smallint(4) UNSIGNED NOT NULL DEFAULT '2015',
  6.   `month` tinyint(2) UNSIGNED NOT NULL DEFAULT '1',
  7.   `int_1` int(11) UNSIGNED NOT NULL DEFAULT '0',
  8.   `int_2` int(11) UNSIGNED NOT NULL DEFAULT '0',
  9.   `int_3` int(11) UNSIGNED NOT NULL DEFAULT '0',
  10.   `hero_id` smallint(3) UNSIGNED NOT NULL DEFAULT '0',
  11.   `win` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  12.   `losses` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  13.   `leaver` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  14.   `disc` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  15.   `left` int(11) NOT NULL DEFAULT '0',
  16.   `update` tinyint(1) UNSIGNED NOT NULL DEFAULT '0'
  17. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=134829 ;


К-во результатов в таблице (будет): 12,000,000.
Тип таблицы: InnoDB

Запросы которые будет поступать к таблице:
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE `player_id` = :id AND `alias_id` = :alias
  2. WHERE `player_id` = :id AND `alias_id` = :alias ORDER BY `int_1`
  3. WHERE `player_id` = :id AND `alias_id` = :alias ORDER BY `int_2`
  4. WHERE `player_id` = :id AND `alias_id` = :alias ORDER BY `int_3`
  5. WHERE `player_id` = :id AND `alias_id` = :alias ORDER BY `left`
  6.  
  7. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1
  8. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 ORDER BY `int_1`
  9. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 ORDER BY `int_2`
  10. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 ORDER BY `int_3`
  11. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 ORDER BY `left`
  12.  
  13. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1
  14. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 ORDER BY `int_1`
  15. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 ORDER BY `int_2`
  16. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 ORDER BY `int_3`
  17. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 ORDER BY `left`
  18.  
  19. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1
  20. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 ORDER BY `int_1`
  21. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 ORDER BY `int_2`
  22. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 ORDER BY `int_3`
  23. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 ORDER BY `left`
  24.  
  25.  
  26. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1
  27. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 ORDER BY `int_1`
  28. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 ORDER BY `int_2`
  29. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 ORDER BY `int_3`
  30. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 ORDER BY `left`
  31.  
  32.  
  33. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year
  34. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year ORDER BY `int_1`
  35. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year ORDER BY `int_2`
  36. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year ORDER BY `int_3`
  37. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year ORDER BY `left`
  38.  
  39.  
  40. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `win` = 1
  41. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `win` = 1 ORDER BY `int_1`
  42. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `win` = 1 ORDER BY `int_2`
  43. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `win` = 1 ORDER BY `int_3`
  44. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `win` = 1 ORDER BY `left`
  45.  
  46. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `losses` = 1
  47. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `losses` = 1 ORDER BY `int_1`
  48. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `losses` = 1 ORDER BY `int_2`
  49. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `losses` = 1 ORDER BY `int_3`
  50. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `losses` = 1 ORDER BY `left`
  51.  
  52. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `leaver` = 1
  53. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `leaver` = 1 ORDER BY `int_1`
  54. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `leaver` = 1 ORDER BY `int_2`
  55. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `leaver` = 1 ORDER BY `int_3`
  56. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `leaver` = 1 ORDER BY `left`
  57.  
  58.  
  59. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `disc` = 1
  60. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `disc` = 1 ORDER BY `int_1`
  61. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `disc` = 1 ORDER BY `int_2`
  62. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `disc` = 1 ORDER BY `int_3`
  63. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `disc` = 1 ORDER BY `left`
  64.  
  65.  
  66. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month
  67. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month ORDER BY `int_1`
  68. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month ORDER BY `int_2`
  69. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month ORDER BY `int_3`
  70. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month ORDER BY `left`
  71.  
  72. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `win` = 1
  73. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `win` = 1 ORDER BY `int_1`
  74. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `win` = 1 ORDER BY `int_2`
  75. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `win` = 1 ORDER BY `int_3`
  76. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `win` = 1 ORDER BY `left`
  77.  
  78. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `losses` = 1
  79. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `losses` = 1 ORDER BY `int_1`
  80. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `losses` = 1 ORDER BY `int_2`
  81. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `losses` = 1 ORDER BY `int_3`
  82. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `losses` = 1 ORDER BY `left`
  83.  
  84. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `leaver` = 1
  85. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `leaver` = 1 ORDER BY `int_1`
  86. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `leaver` = 1 ORDER BY `int_2`
  87. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `leaver` = 1 ORDER BY `int_3`
  88. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `leaver` = 1 ORDER BY `left`
  89.  
  90.  
  91. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `disc` = 1
  92. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `disc` = 1 ORDER BY `int_1`
  93. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `disc` = 1 ORDER BY `int_2`
  94. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `disc` = 1 ORDER BY `int_3`
  95. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `disc` = 1 ORDER BY `left`
  96.  
  97.  
  98. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero
  99. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero ORDER BY `int_1`
  100. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero ORDER BY `int_2`
  101. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero ORDER BY `int_3`
  102. WHERE `player_id` = :id AND `alias_id` = :alias AND `hero_id` = :hero ORDER BY `left`
  103.  
  104.  
  105. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 AND `hero_id` = :hero
  106. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 AND `hero_id` = :hero ORDER BY `int_1`
  107. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 AND `hero_id` = :hero ORDER BY `int_2`
  108. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 AND `hero_id` = :hero ORDER BY `int_3`
  109. WHERE `player_id` = :id AND `alias_id` = :alias AND `win` = 1 AND `hero_id` = :hero ORDER BY `left`
  110.  
  111. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 AND `hero_id` = :hero
  112. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 AND `hero_id` = :hero ORDER BY `int_1`
  113. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 AND `hero_id` = :hero ORDER BY `int_2`
  114. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 AND `hero_id` = :hero ORDER BY `int_3`
  115. WHERE `player_id` = :id AND `alias_id` = :alias AND `losses` = 1 AND `hero_id` = :hero ORDER BY `left`
  116.  
  117. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 AND `hero_id` = :hero
  118. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 AND `hero_id` = :hero ORDER BY `int_1`
  119. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 AND `hero_id` = :hero ORDER BY `int_2`
  120. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 AND `hero_id` = :hero ORDER BY `int_3`
  121. WHERE `player_id` = :id AND `alias_id` = :alias AND `leaver` = 1 AND `hero_id` = :hero ORDER BY `left`
  122.  
  123.  
  124. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 AND `hero_id` = :hero
  125. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 AND `hero_id` = :hero ORDER BY `int_1`
  126. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 AND `hero_id` = :hero ORDER BY `int_2`
  127. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 AND `hero_id` = :hero ORDER BY `int_3`
  128. WHERE `player_id` = :id AND `alias_id` = :alias AND `disc` = 1 AND `hero_id` = :hero ORDER BY `left`
  129.  
  130.  
  131. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero
  132. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero ORDER BY `int_1`
  133. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero ORDER BY `int_2`
  134. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero ORDER BY `int_3`
  135. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero ORDER BY `left`
  136.  
  137.  
  138. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `win` = 1
  139. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_1`
  140. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_2`
  141. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_3`
  142. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `win` = 1 ORDER BY `left`
  143.  
  144. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `losses` = 1
  145. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_1`
  146. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_2`
  147. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_3`
  148. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `losses` = 1 ORDER BY `left`
  149.  
  150. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `leaver` = 1
  151. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_1`
  152. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_2`
  153. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_3`
  154. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `left`
  155.  
  156.  
  157. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `disc` = 1
  158. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_1`
  159. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_2`
  160. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_3`
  161. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `hero_id` = :hero AND `disc` = 1 ORDER BY `left`
  162.  
  163.  
  164. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero
  165. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero ORDER BY `int_1`
  166. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero ORDER BY `int_2`
  167. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero ORDER BY `int_3`
  168. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero ORDER BY `left`
  169.  
  170. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `win` = 1
  171. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_1`
  172. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_2`
  173. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `win` = 1 ORDER BY `int_3`
  174. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `win` = 1 ORDER BY `left`
  175.  
  176. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `losses` = 1
  177. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_1`
  178. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_2`
  179. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `losses` = 1 ORDER BY `int_3`
  180. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `losses` = 1 ORDER BY `left`
  181.  
  182. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `leaver` = 1
  183. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_1`
  184. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_2`
  185. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `int_3`
  186. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `leaver` = 1 ORDER BY `left`
  187.  
  188.  
  189. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `disc` = 1
  190. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_1`
  191. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_2`
  192. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `disc` = 1 ORDER BY `int_3`
  193. WHERE `player_id` = :id AND `alias_id` = :alias AND `year` = :year AND `month` = :month AND `hero_id` = :hero AND `disc` = 1 ORDER BY `left`


Подскажите по каким полям создавать индекс.
bob4ik Отправлено: 05 Апреля, 2014 - 13:48:09 • Тема: Хранение лайков в $_SESSION / $_COOKIE / MYSQl? • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 50
Мелкий пишет:
Мне кажется избыточным как раз тянуть с базы все данные пользователя

Это делается один раз при авторизации, проверяется или есть сессия с таким именем и туда заносится весь список (ID избранных постов).

Мелкий пишет:
Антипример для сессии: авторизоваться на, например, домашнем ПК и смартфоне.

угу, не подумал про такое.

все спасибо, я получил ответ на свой вопрос.
bob4ik Отправлено: 05 Апреля, 2014 - 12:49:52 • Тема: Хранение лайков в $_SESSION / $_COOKIE / MYSQl? • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 50
ну дело в том, что скажем так результат "полюбому" будет хранится в базе.
но вот при получении списка тем, что бы не делать запрос к таблице с лайками (про джоин знаю конечно), брать значениея с сессии / куки тд (что бы не напрягать базу лишний раз, и не искать значение среди большого к-ва).
bob4ik Отправлено: 05 Апреля, 2014 - 12:28:55 • Тема: Не разбирусь с $title • Форум: Напишите за меня, пожалуйста

Ответов: 16
Просмотров: 214
так поставь


CODE (htmlphp):
скопировать код в буфер обмена
  1. default:
  2. 'index.php': $title='Это главная страница!';
  3. break;
bob4ik Отправлено: 05 Апреля, 2014 - 12:26:55 • Тема: хочу написать Парсер прогноза погоды. • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 55
simple_html_dom.php

пробей в гугле, там есть и мануалы, очень легкий в написании.
bob4ik Отправлено: 05 Апреля, 2014 - 12:13:39 • Тема: Хранение лайков в $_SESSION / $_COOKIE / MYSQl? • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 50
День добрый.
Делаю сайт (пока наброски). У пользователя есть возможность лайкать / добавлять в избранное / просматривать темы.
После просмотра (или других действий) возле темы отображеются кпопочки: просмотрел (если не просмотрел то кнопка "отметить как просмотренное") | добавил в избранное (если не добавил то значок "добавить в избранное") и тд.

После того как пользователь нажимает на кнопочку "Добавить в избранное" через выполняется запрос в таблицу след. вида:
`id` | `user_id` | `post_id ` (ну тут я думаю и так все понятно. id - номер записи, user_id - иди пользователя, post_id - иди темы).

Теперь когда пользователь обновил страницу, то нужно как-то узнать какие записи были добавлены в избранное а какие нет. Делаем запрос и сравниваем каждую запись.
Но хотелось бы не делать такой запрос, так как в таблице с избранными может быть очень большое к-во записей. Вот я подумал их где-то хранить временно.

Сделал вот так:
при авторизации, выполняется запрос SELECT с получением списка post_id всех новостей которые были просмотрены и заносятся в $_SESSION['like'] (favorite / view) c разделителем например | (выбрал сессию так как в кукисах мало места).
Cмотрется будет как-то так:

Затем через функцию "strripos" ищу нужный мне post_id и сравниваю.
После добавления в избранное / просмотра / лайка `id` новости добавляется в конец списка сессии.



А вот собственно вопросы:
Верно ли я сделал?
Какие способы порекомендовали бы вы и почему?
bob4ik Отправлено: 21 Марта, 2014 - 19:04:32 • Тема: php / mysql • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 39
Спасибо, я Вас понял.
Код работает.
Сделал по категориям как Вы и посоветовали
bob4ik Отправлено: 21 Марта, 2014 - 05:47:48 • Тема: php / mysql • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 39
День добрый.

Есть код вида
PHP:
скопировать код в буфер обмена
  1. <?
  2. // Query
  3. $sql = "SELECT `id`
  4. FROM `$sql_table`
  5. WHERE $sql_where
  6. ORDER BY `$sql_order` DESC";
  7. $result = $db->query($sql);
  8. $count = (int) $db->num_rows($result);
  9. if ( $count )
  10. {
  11.         $set_return.= '<?xml version="1.0" encoding="UTF-8"?>';
  12.         $set_return.= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
  13.         while ( $row = $db->fetch_array($result, 'assoc') )
  14.         {
  15.                 $id = (int) $row['id'];
  16.                 $link = (string) $SiteUrl.'?'.$prefix.'='.$id;
  17.                 $date = date('r', $S_time);
  18.                
  19.                 $set_return.= '<url>';
  20.                 $set_return.= '<loc>'.$link.'</loc>';
  21.                 $set_return.= '<lastmod>'.$date.'</lastmod>';
  22.                 $set_return.= '<changefreq></changefreq>';
  23.                 $set_return.= '<priority>0.8</priority>';
  24.                 $set_return.= '</url>';
  25.         }
  26.         $set_return.= '</urlset>';
  27.  
  28.        
  29.         $f = fopen('../sitemap/file.xml', 'w+');                        // открывает файл (если есть очищаем)
  30.         flock ($f, 2);                                                                          // запрещает к нему доступ на время записи
  31.         fwrite($f, $set_return);                                                        // пишет в файл информацию
  32.         fclose($f);                                                                             // закрывает файл      
  33. }


Код выводит результаты с базы, и создает файл формата .xlm
Но так как результатов в базе может быть много, и не хочется создавать один файл на 15 метров, появилась идея создавать 15 файлов по 1000 результатов.
Как такое сделать?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB