• Wordpress предназначен для большой нагрузки?

    @cema93
    WordPress разработчик
    Wordpress легко тянет много уников, но для этого надо сделать следующее:
    1. Делать тему вручную, не брать популярные с кучей ненужных настроек, а делать под себя
    2. Использовать только нужные плагины, а в идеале вообще их не использовать.
    3. Испольковать кэширование.

    Мне пришел сайт, который грузил выделенный сервер Core i3 3.4ГГц (2 ядра) 4Гб RAM 2x500Гб SATA на 100 % при 500 униках.
    Я переписал тему с 0, интегрировал все необходимые плагины в тему и теперь сайт работает на VDS
    1 ядро процессора 512 Мб оперативной памяти 30 Гб жёсткого диска и грузит его только на 20% при 1500 униках.
    Вывод: Каждая система имеет свои плюсы и минусы, каждая система по своему оптимизирована, а это значит что всё зависит от прямоты рук вашего разработчика.
    Ответ написан
    Комментировать
  • Как писать приложение для сайта, который написан на wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    REST API, только не то, которое советует Дмитрий Воронков, а то, которое в процессе мерджинга в ядро WP. Собственно, v2.wp-api.org.
    Ответ написан
    Комментировать
  • Подсчитать количество строк при разных условиях в одном запросе?

    @nelson
    SELECT 
    SUM( IF(post_id != 1, 1, 0) ) as one_count,  
    SUM( IF(post_id = 1, 1, 0) ) as two_count
    FROM comments 
    WHERE user_id = $user_id
    Ответ написан
    2 комментария
  • Как правильно составить SQL запрос?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    -- Создали таблицы
    CREATE TABLE counts (count_id INT IDENTITY (1,1) , count_name nVARCHAR(20))
    CREATE TABLE operation  (operation_id INT IDENTITY (1,1) ,operation_count_id INT, balance MONEY,operation_date DATETIME ,operation_name NVARCHAR(50))
    
    go
    -- Очищаем таблицы
    TRUNCATE TABLE counts
    TRUNCATE TABLE operation
    
    -- Заполняем данным
    INSERT INTO [dbo].[counts] ([count_name]) VALUES ('Первый счет')
    INSERT INTO [dbo].[counts] ([count_name]) VALUES ('Второй счет')
    INSERT INTO [dbo].[counts] ([count_name]) VALUES ('Третий счет')
    
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(1,'10.3','01-01-2015','Первая операция по первому счету')
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(1,'25.5','02-02-2015','Вторая операция по первому счету')
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(1,'34.4','03-03-2015','Третья операция по первому счету')
    
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(2,'11.7','01-01-2015','Первая операция по Второму счету')
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(2,'22.2','04-04-2015','Вторая операция по Второму счету')
    
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(3,'33.1','01-01-2015','Первая операция по Тертья счету')
    INSERT INTO [dbo].[operation]([operation_count_id],[balance],[operation_date],[operation_name])VALUES(3,'33.7','02-02-2015','Вторая операция по Третья счету')
    
    
    -- Запрос возвращает баланс последней операции по каждому счету
    SELECT c.count_id,c.count_name
    ,o2.balance
    ,o2.operation_name
     FROM counts c
     JOIN (
    SELECT operation_count_id,
     MAX(operation_date)  AS 'Max Date'
    FROM dbo.operation 
    GROUP BY operation_count_id
    
    ) o ON o.operation_count_id=c.count_id
    JOIN dbo.operation o2 ON o2.operation_count_id=o.operation_count_id AND o2.operation_date=o.[Max Date]
    Ответ написан
    Комментировать