| 
 | 
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Добрый день Уважаемые! Скажите пожалуйста, если есть такая задача: Имеются объекты разных типов (Животные, Дома, Страны, ...) У объектов есть разные характеристики (Животные: Семейство, Название, Место обитания и др, Дома: Этажность, Наличие Паркинга и пр. ....) У пользователей есть возможность делать предложения по изменению свойств. Т.е. должна храниться информация "Пользователь предложил у такого объекта, {сменить,удалить,создать} данное свойство на такое-то значение" Вроде насколько я понял, похоже на модель EAV, но всё же спрошу. Стоит ли всю эту информацию о действиях пользователей хранить в одной таблице: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. И если да, то как лучше организовать в ней индексы при условии таких запросов: 1. Все действия пользователей в таком-то типе объектов 2. Все действия пользователей в таком-то экземпляре (objID), объекта такого-то типа (objType) 3. Все действия данного пользователя ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.02.2019, 21:29 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  kormot, 1. Не мешало бы озвучить СУБД. ПостГре ? 2. Думаю, что нужны индексы objType+objID и userID ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.02.2019, 21:53 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  L_argo , нет БД - MariaDB 10.3, а от БД в такой задачи что зависит? А то, что индекс будет objType+objID, например если в запросе будет WHERE objID=5, без objType, то составной индекс сыграет в запросе положительную роль? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.02.2019, 22:52 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Не понял, зачем в таблице objType  - он не определяется по objID? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 11:19 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Нет, там могут быть объекты разных сущностей с одинаковыми objID. Дескать когда по объекту такого-то типа производится заявка от пользователя, то в эту таблицу пишется запись об этом. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 13:08 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  kormotто составной индекс сыграет в запросе положительную роль?Скорее всего нет. Если такие запросы будут редкими, то ими можно смело пренебречь. Беда подобных таблиц, что нужно покрывать индексами почти все поля. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 13:41 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  L_argoБеда подобных таблиц, что нужно покрывать индексами почти все поля. А от большого количества индексов какие минусы кроме расходов на память? Время вставки? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 14:15 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  kormotНет, там могут быть объекты разных сущностей с одинаковыми objID. Если у Вас таки ключ обьекта - objType+objID, то запросы WHERE objID=5, без objType выглядят странно ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 15:09 | 
  
  
  
   | 
||
| 
 
Как правильно оформить таблицу для заявок 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот МатроскинЕсли у Вас таки ключ обьекта - objType+objID, то запросы WHERE objID=5, без objType выглядят странно Согласен, таких не будет. Только с типом объекта. Сам понял сейчас :) А по индексам, можете дать ссылку где почитать про выбор индексов, или так написать основные принципы? А то я встречал неоднократно что если что-то тормозит, то надо индекс добавить, а если в таблице много индексов - то это тоже некая проблема. Как выбрать то этот набор столбцов для индексирования? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 20.02.2019, 15:22 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?desktop=1&fid=32&tid=1539959]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    51ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    45ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 12ms | 
| total: | 151ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.