@bitrixfordevelopers

Страница 171 из 1492
Maxim
05.10.2016
09:12:31
ну предположим, что данные попадают в таблицу раз в секунду. через 2 миллиона секунд я захочу фильтровать по этому полю, с по числа. есть ли смысл от индекса в таком случае.

Pavel
05.10.2016
09:13:29
есть

я наверное плохо объясняю http://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html

Maxim
05.10.2016
09:14:30
скорее я плохо понимаю

Google
Maxim
05.10.2016
09:14:39
пасиб. почитаю

Pavel
05.10.2016
09:16:19
вам надо понять только одно, индекс это не ваше значение, и для индекса нет разницы, строка это или число или метка времени, по этому для хранения индексов тратится больше ресурсов и больше времени обработки и по этому они вредны где все запросы (ну или большинство) INSERT и UPDATE, а там где куча селектов еще и с условиями индексы просто жизнено необходимы на тех полях, по которым идут выборки

при том составные индексы (по нескольким полям) должны идти в том же порядке, что вы их перечисляете в самом запросе, иначе индекс не подхватится

индексы есть или их нет не ощущается только в одном случае, пока вся таблица влазит в оперативку, а как только перестает влазить, начинается все веселье

Maxim
05.10.2016
09:21:08
у меня вопрос ядра битрикса. потому у меня изначально все не влазит никуда.

Pavel
05.10.2016
09:21:34
по этой причине оптимизация бд начинается уже на боевом проекте обычно )))

Vladimir
05.10.2016
09:21:41
ну не только, когда 4 таблицы склеить нужно с 2 лямами записей, джоинами.. сразу чувствуется есть индекс или нет

Maxim
05.10.2016
09:22:06
ну если я выпущу свой модуль, вы же (да и я тоже) сначала код обсерите, потом программистов, потом весь битрикс )

Vladimir
05.10.2016
09:22:25
а потом найдём по IP и под дверь...

но зная какие сейчас модули штампуют )

Pavel
05.10.2016
09:22:48
ну не только, когда 4 таблицы склеить нужно с 2 лямами записей, джоинами.. сразу чувствуется есть индекс или нет
я бы сказал что тут чтото не так и это место полюбому будет бутылочным горлышком ))

Анатолий
05.10.2016
09:36:24
Когда такие количества строк в базе данных идут - мой вам совет - копируйте это всё на отдельный сервер и там выстраивайте индексы. Процесс этот не маленький по времени - от нескольких дней до недель. И раз уж речь идет о Битриксе - проверьте сначала что кэш правильно используется.

Google
Maxim
05.10.2016
09:37:25
ну это уже частные случаи

в моем случае нужна универсальность

Анатолий
05.10.2016
09:37:52
это как?

Maxim
05.10.2016
09:38:42
ой, вы это не мне ответили. я тут с индексами разбираюсь сижу.

Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.

я из этих людей )))

svetlana
05.10.2016
09:39:57
можно один создать

Анатолий
05.10.2016
09:39:58
с индексами есть 2 варианта - а) когда вы предполагаете какие запросы будут использоваться и заранее выставляете индексы на какие-то колонки таблиц, и б) когда у вас есть конкретные страницы сайта с конкретными запросами с этих страниц - и надо оптимизировать эти конкретные запросы.

Andrew
05.10.2016
09:40:28
вам бы что-то вроде таких статей почитать http://ruhighload.com/post/Работа+с+индексами+в+MySQL

Анатолий
05.10.2016
09:40:31
а вообще не стоит создавать кучу индексов просто так - замедляет insert и update

Andrew
05.10.2016
09:41:06
это я к тому, что без полного понимания, как оно там, сложно делать какие-то выводы.

Maxim
05.10.2016
09:42:17
да уже прочел. сижу размышляю. всегда легкомысленно подходил к индексам. не было таких сложных задач. Если что, оперировал уже продакшном. а тут задача заранее продумывать )

Анатолий
05.10.2016
09:43:29
)) почитайте ещё про шардинг, вертикальный и горизонтальный.. кластеры добавьте с репликацией и будете через полгода спецом по БД

Maxim
05.10.2016
09:44:24
да я уже понял, что вырос из стандартного набора запросов. пора уже что то более изучать, да и книжку почитать одну другую про бд.

Vladimir
05.10.2016
09:46:04
мне кажется даже в случае с модулем для МП не стоит усложнять

у кого база огромная знает что такое индекс и сможет проставить, у кого сайт с 50 униками в день, и знать не нужно зачем это

если конечно решение изначально не предпологает огромный справочник, но тогда легче 2-3 основных выделить как это делает битрикс

вот я по проектированию БД полистал бы в метро, но пока подруки достойного ничего не попадается, в основном куча воды

причём доуровня репок и nosql Решений

Google
Pavel
05.10.2016
09:55:46
сейчас еще одну найду))

Vladimir
05.10.2016
09:56:35
Во спасибо, судя по оглавлению прям с 9 главы можно изучать)

Pavel
05.10.2016
09:56:45
я бы эту еще рекомендовал http://www.books.ru/books/obespechenie-vysokoi-dostupnosti-sistem-na-osnove-mysql-1545929/

Vladimir
05.10.2016
09:59:33
я бы эту еще рекомендовал http://www.books.ru/books/obespechenie-vysokoi-dostupnosti-sistem-na-osnove-mysql-1545929/
я прям отстал от жизни, пора в книжный... а то всё хабр да форумы)

Maxim
05.10.2016
09:59:55
Внимание! Книгу продает: Вячеслав Валериевич

))))

очень важная информация

Vladimir
05.10.2016
10:01:02
да bitrix расслабил.. мелкие проекты где всё знаешь, а не знаешь гуглишь за 5 минут

Pavel
05.10.2016
10:03:02
нельзя расслабляться :) у меня у вэб разработчика на полке даже программирование под микроконтроллеры стоит))) изучение разных вещей развивает мышление в правильном направлении)) Заметил когда изучал всякие С++ с Qt ))

svetlana
05.10.2016
10:05:10
у нас вот что на полке стоит )))

Maxim
05.10.2016
10:05:30
хасбро

Maxim
05.10.2016
10:05:36
помните монополию на картах гугла?

Pavel
05.10.2016
10:05:45
правильно, отдыхать тоже надо уметь))

Maxim
05.10.2016
10:05:57
у меня есть ахрененная идея. )) но я один не потяну игру )

Pavel
05.10.2016
10:06:56
у меня есть ахрененная идея. )) но я один не потяну игру )
у меня таких идей вагон, осталось понять где на всё это взять время ))

Maxim
05.10.2016
10:07:15
? это да

Pavel
05.10.2016
10:10:41
я даже в метро почитать не могу, потому что за рулем (не поезда)

нужно переходить на общественный траспорт :)

Vladimir
05.10.2016
10:11:43
не у меня 40 минут пробка

Google
Vladimir
05.10.2016
10:11:50
и 30 минут на метро)

Maxim
05.10.2016
10:12:04
ну такую книгу конечно не послушать. но я в автобусе или пешком если, аудио книги кручу всегда )

Pavel
05.10.2016
10:12:32
есть тех литература в аудио формате? :)))

svetlana
05.10.2016
10:12:33
а я под аудио книги засыпаю

Vladimir
05.10.2016
10:12:57
а я под аудио книги засыпаю
особенно под сказу про репки в mysql)

svetlana
05.10.2016
10:13:17
пришёл ПМ, тянет репку, вытянуть не может....

Vladimir
05.10.2016
10:13:20
тянул вася репку тянул да не вытянул)

svetlana
05.10.2016
10:13:39
а чё сразу вася =)))

Maxim
05.10.2016
10:14:02
прибежал Покрышкин, усики погладил, вытянули репку из разбитого рейда

Admin
ERROR: S client not available

Maxim
05.10.2016
10:14:27
рейд. рейд. в фалаут шелтер поиграть, чтоль?

Pavel
05.10.2016
10:16:15
прибежал Покрышкин, усики погладил, вытянули репку из разбитого рейда
зачем репу доставать из разбитого рейда, ведь репы минимум две? вторая то полюбому живая, они же не на одном рейде)))

Maxim
05.10.2016
10:16:39
ну тут как с дедом повезло

окончил ли он школу, старый дурак

я встречался когда на одной машине два мускуля обрабатывали один сайт

кто то экспериментировал

svetlana
05.10.2016
10:17:46
походу проект опять одна мыша вытягивать будет =)))

Maxim
05.10.2016
10:18:39
два сервера

кто то экспериментировал наверное. но денег на две железки не хватило

Google
Maxim
05.10.2016
10:19:17
сервер = по

Pavel
05.10.2016
10:19:22
два сервера
я сейчас подумал, что не знаю как запустить второй сервер на той же машине

хотя нет, есть пара идей ))

Maxim
05.10.2016
10:21:34
хотя нет, есть пара идей ))
довольно развратных? ;)

Pavel
05.10.2016
10:22:36
нет, надо зайти в сервис старт скрипт, посмотреть как подымается сервер, скорее всего там можно подсунуть свой файл конфигурации при старте, ну а там уже подсунуть свой порт, свои сокеты в конфе, вот и будет 2 инстанса на разных портах

либо второй - рассувать по контейнерам

все хочу клоудлинукс посмотреть - времени нету))

Maxim
05.10.2016
10:30:49
https://habrahabr.ru/company/bitrix/blog/147098/

innodb-flush-log-at-trx-commit

вот в эту сторону копай

он в 2-3 раза ускорит работу

http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=32&LESSON_ID=3371

Наибольшее внимание следует обратить на следующие параметры и примеры: set-variable = innodb_buffer_pool_size=250M set-variable = innodb_additional_mem_pool_size=50M set-variable = innodb_file_io_threads=8 set-variable = innodb_lock_wait_timeout=50 set-variable = innodb_log_buffer_size=8M set-variable = innodb_flush_log_at_trx_commit=0

Виталий
05.10.2016
10:35:02
ктото делал выгрузку товаров из 1С на сайт со структурой отличной от той, которая в 1С и штатный механизм настройки иерархии групп не подходит *при настройках обмена с 1С) есть категория запчасти, в неё выгружают 10 категорий с товарами, и у каждой категории по 5 подкатегорий. все эти товары в категории Запчасти без разделов так как группа номенклатуры задачется через параметр в 1С - Вид номенклатуры Виды номенклатуры мы можем выгружать в справочник. Делать думал так: 1) у товаров в категории Запчасти будет свойство - Категория (привязка по ID вида номенклатуры) 2) на основании видом номенклатуры будет выводится структура (для этого надо будет сделать компонент)

Maxim
05.10.2016
10:40:00
innodb_flush_log_at_trx_commit=0 очень ввыручило

естественно все эти советы универсальны. и у каждого свои частные случаи

тому кому я это написал этого достаточно будет )

Еще один глупый вопрос. Когда и как стоит применять пхп.интерфейсы? Для меня интерфейс это жесткое обозначение того, что и как моей программе необходимо реализовать. Жесткие рамки. сейчас у меня есть 2 интерфейса, 1 для восстановления данных, второй для удаления данных. и там и там присутствуют 2 обязательных метода, которые реализуют необходимые методы и гарантируют работу апи. это getEntity и setData так вот руководителю не нравится, говорит мол не на своем месте эти два метода. предлагает третий интерфейс. что то я немного не согласен с ним. получается у прослойки между модулями и моим модулем должен быть класс реализующий массив (пока только трех) интерфейсов.

с ростом программы будет расти кол-во интерфейсов?

вообще смысл всего диалога кроется в долговременной (в контексте битрикса читай бесконечной) поддержке этих интерфейсов.

Страница 171 из 1492