• MySQL: Как побороть ошибку Row size too large?

    MikeVL
    @MikeVL Автор вопроса
    Лишние индексы удалил. Но не получается сменить тип полей.

    mysql> ALTER TABLE market_offer MODIFY `text` LONGTEXT, MODIFY `tizer` LONGTEXT, MODIFY title TEXT, MODIFY picture TEXT, MODIFY pictureurl TEXT, MODIFY url TEXT, ROW_FORMAT=COMPRESSED;
    ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
    Error (Code 1118): Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
    Error (Code 1030): Got error 139 from storage engine

    Еще одна интересная вешь, за пару дней таблицы выросла в 4 раза.

    mysql> SHOW TABLE STATUS LIKE 'market_offer'\G
    *************************** 1. row ***************************
               Name: market_offer
             Engine: InnoDB
            Version: 10
         Row_format: Compact
               Rows: 24329782
     Avg_row_length: 1333
        Data_length: 32445038592
    Max_data_length: 0
       Index_length: 1818722304
          Data_free: 950009856
     Auto_increment: 14943874034
        Create_time: 2014-09-19 19:30:18
        Update_time: NULL
         Check_time: NULL
          Collation: utf8_general_ci
           Checksum: NULL
     Create_options:
            Comment:
    1 row in set (0.05 sec)

    Rows: 24329782

    А по факту в БД находится:
    mysql> select count(*) from market_offer\G
    *************************** 1. row ***************************
    count(*): 4956036
    Ответ написан
  • Использование New Relic в Django проектах?

    MikeVL
    @MikeVL

    Вот конфиг для запуска Django проекта с New Relic через supervisor:

    [program:django]
    user = www-data
    command = newrelic-admin run-program /usr/local/bin/uwsgi
      --module 'project.wsgi:application'
      --socket /tmp/%(program_name)s_%(process_num)02d.sock
      --processes 1
      --threads 6
      --single-interpreter
      --enable-threads
      --vacuum
      --need-app
      --log-x-forwarded-for
      --buffer-size 32768
      --post-buffering 65536
      --disable-logging
    
    environment =
      NEW_RELIC_CONFIG_FILE="/etc/project/newrelic.ini",
      DJANGO_SETTINGS_MODULE="project.settings"

    Ответ написан
    Комментировать
  • Django. Работа с данными из БД и отображение их в шаблоне?

    MikeVL
    @MikeVL
    Попробуй так:
        conn.execute("SQL ...")
        rows = conn.fetchall()
        keys = [t[0] for t in conn.description]
        advert_set = [dict(zip(keys, row)) for row in rows]
    

    В шаблоне так:
    {% for row in advert_set %}
    {{ row.field_name }}
    {% endfor %}
    
    Ответ написан
    Комментировать