• Как оптимизировать хранимую процедуру?

    @Kerm Автор вопроса
    Спасибо Вам, буду тестировать. А вот еще, а нужно ли где указывать SET AUTOCOMMIT=0 или нет? Мне надо только в этой процедуре попробовать транзакцию сделать и все.
  • Как оптимизировать хранимую процедуру?

    @Kerm Автор вопроса
    И прошу еще разрешить сомнение еще по одному двум вопросам, если в INSERT INTO `sh_prod_im` (`prod`,`type`,`pict`) у меня в конце не указана колонка updated, но в конце on duplucate key я прописан updated = 1 это не чего страшного? я проверил ошибок нет, не уверен в правильности отработки скрипта.

    И еще стоит ли в SELECT в конце дописывать FOR UPDATE?
  • Как оптимизировать хранимую процедуру?

    @Kerm Автор вопроса
    И используйте транзакцию, тогда для остальных процессов обновление таблицы будет выглядеть как мнгновенный процесс.

    Посмотрите, вот так?

    DELIMITER $$
    CREATE DEFINER=`root`@`%` PROCEDURE `sync_fl2`()
    
    BEGIN
    
    DECLARE exit handler for sqlexception
      BEGIN
        -- ERROR
      ROLLBACK;
    END;
    
    DECLARE exit handler for sqlwarning
     BEGIN
        -- WARNING
     ROLLBACK;
    END;
    
    START TRANSACTION;
    
      UPDATE `sh_prod_im` SET `updated` = 0;
    
      INSERT INTO `sh_prod_im` (`prod`,`type`,`pict`) 
        SELECT `prod`,`type`,`pict`
        FROM `sh_prod_im_`
        FOR UPDATE
        ON DUPLICATE KEY UPDATE `updated` = 1;
    
      DELETE FROM `sh_prod_im` WHERE `updated` = 0;
    
    COMMIT;
    END$$
    DELIMITER ;
  • Как оптимизировать хранимую процедуру?

    @Kerm Автор вопроса
    Действительно ли первичным ключом должна быть комбинация (`prod`,`type`,`pict`)?

    prod - это не уникальное значение
    type - это тип фоток, в пределах одного товара это уникальное значение, бывает от 0 до 50
    pict - это id фотографии, не уникальное значение

    Уникальные значения только prod+type или prod+type+pict

    Селект вот такой используется из этой таблицы:

    SELECT * FROM `sh_prod_im` WHERE `prod` IN ('.implode(',',$prod_k).') ORDER BY `type`
  • Как оптимизировать хранимую процедуру?

    @Kerm Автор вопроса
    Изучаю Ваше решение, спасибо.

    Посмотрите вот так правильно?

    CREATE TABLE `sh_prod_im` (
      `prod` int(10) unsigned NOT NULL,
      `type` int(10) unsigned NOT NULL,
      `pict` int(10) unsigned NOT NULL,
      `updated` int(1) unsigned default '1',
      PRIMARY KEY (`prod`,`type`,`pict`)
    ) ENGINE=InnoDB;


    У updated указал по умолчанию значение 1 для новых, добавленных записей, далее изменил процедуру:

    DELIMITER $$
    CREATE DEFINER=`root`@`%` PROCEDURE `sync_fl`()
    BEGIN
      UPDATE `sh_prod_im` SET `updated` = 0;
    
      INSERT INTO `sh_prod_im` (`prod`,`type`,`pict`) 
        SELECT `prod`,`type`, `pict`
        FROM `sh_prod_im_`
        ON DUPLICATE KEY UPDATE `updated` = 1;
    
      DELETE FROM `sh_prod_im` WHERE `updated` = 0;
    END$$
    DELIMITER;
  • Как на JS преобразовать массив с ключами, в данные в фигурных скобках через запятую?

    @Kerm Автор вопроса
    Виктор, в таком формате нужно скрипт инициализировать:

    var json = {
           "type": "FeatureCollection",
           "features": [{
             "type": "Feature",
             "id": 0,
             "geometry": {
               "type": "Point",
               "coordinates": [55.753215, 37.6225],
               "Lat": 55.753215,
               "Long": 37.6225,
               "PrintCoordinates": "[55.753215,37.6225]"
             },
             "properties": {
               "balloonContentHeader": "Основной",
               "balloonContentBody": "Партнер: Charmante Соболева Ольга - клиенты",
               "balloonContentFooter": null,
               "clusterCaption": "Основной",
               "hintContent": "Основной"
             },
             "options": {
               "preset": "islands#redIcon"
             }
           }, {
             "type": "Feature",
             "id": 1,
             "geometry": {
               "type": "Point",
               "coordinates": [55.933948, 37.8432],
               "Lat": 55.933948,
               "Long": 37.8432,
               "PrintCoordinates": "[55.933948,37.8432]"
             },
             "properties": {
               "balloonContentHeader": "ladybird",
               "balloonContentBody": "Партнер: Вд Башинская Людмила Викторовна - (ФАВ)",
               "balloonContentFooter": null,
               "clusterCaption": "ladybird",
               "hintContent": "ladybird"
             },
             "options": {
               "preset": "islands#darkGreenIcon"
             }
           }]}


    Вот где Features: идет перечень точек на карте. У меня этот перечень содержим массив с объектами точек внутри, только вот в массиве есть ключи, а яндекс ждет чтобы было:

    "features": [{...}, {...} , {...} ,{...}]

    Так вот, как мне переменную с массивом объектов внутри, преобразовать в:
    "features": [{...}, {...} , {...} ,{...}]

    ?
  • Win server 2016, проблема с изменением файлов сайта по FTP, файлы блокируются?

    @Kerm Автор вопроса
    Вот логи сервера:

    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> Connected on port 13454, sending welcome message...
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> 220-FileZilla Server 0.9.60 beta
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> 220 Please visit https://filezilla-project.org/
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> AUTH TLS
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> 234 Using authentication type TLS
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> TLS connection established
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> USER orders
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> 331 Password required for orders
    (000460)04.07.2018 14:54:58 - (not logged in) (МОЙ АЙПИ)> PASS ************
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> TYPE I
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> 200 Type set to I
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> PASV
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> 227 Entering Passive Mode (10,10,5,180,205,165)
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> STOR sh_node.php
    (000459)04.07.2018 14:55:02 - admin (85.249.2.83)> 150 Opening data channel for file upload to server of "/site.ru/ws/sh_node.php"
    (000459)04.07.2018 14:55:03 - admin (85.249.2.83)> TLS connection for data connection established
    (000459)04.07.2018 14:55:27 - admin (85.249.2.83)> 426 Connection closed; aborted transfer of "/site.ru/ws/sh_node.php
    (000459)04.07.2018 14:55:30 - admin (85.249.2.83)> SIZE sh_node.php
    (000459)04.07.2018 14:55:30 - admin (85.249.2.83)> 213 0
    (000459)04.07.2018 14:55:30 - admin (85.249.2.83)> PASV
    (000459)04.07.2018 14:55:30 - admin (85.249.2.83)> 227 Entering Passive Mode (10,10,5,180,225,195)
    (000459)04.07.2018 14:55:31 - admin (85.249.2.83)> STOR sh_node.php
    (000459)04.07.2018 14:55:31 - admin (85.249.2.83)> 150 Opening data channel for file upload to server of "/site.ru/ws/sh_node.php"
    (000459)04.07.2018 14:55:31 - admin (85.249.2.83)> TLS connection for data connection established
    (000459)04.07.2018 14:55:58 - admin (85.249.2.83)> 426 Connection closed; aborted transfer of "/site.ru/ws/sh_node.php"
    (000459)04.07.2018 14:56:02 - admin (85.249.2.83)> SIZE sh_node.php

    FTP клиент пытается залить файл, на половине заливки зависает и закачка отменяется и начинается заново и так бесконечно..

    Монитор ресурсов показывает что файл блокирует сама программа FileZila Server, если сервак вырубить то блокировка с файла пропадает.
  • Win server 2016, проблема с изменением файлов сайта по FTP, файлы блокируются?

    @Kerm Автор вопроса
    Это не помогло, зато нашел описание схожей проблемы на английском:

    https://forum.filezilla-project.org/viewtopic.php?...
  • Win server 2016, проблема с изменением файлов сайта по FTP, файлы блокируются?

    @Kerm Автор вопроса
    Максим Гришин, не желательно, там интернет-магазин весьма посещаемый