Hongmu Notes
Home Program Notes What is the optimal number of data sub-tables for EmpireCMS? How should published data be distributed across sub-tables? How can a million records in EmpireCMS be evenly distributed across multiple sub-tables?
Program Notes Empire cms Practical Collection empire plugin

What is the optimal number of data sub-tables for EmpireCMS? How should published data be distributed across sub-tables? How can a million records in EmpireCMS be evenly distributed across multiple sub-tables?

What is the optimal number of data sub-tables for EmpireCMS? How should published data be distributed across sub-tables? How can a million records in EmpireCMS be evenly distributed across multiple sub-tables?

What is the optimal number of data partitioning tiers for EmpireCMS?

1. For a 50 GB database, a new main table should be created;

2. Create a new sub-table containing 50,000 rows of data, then set this newly created sub-table as the current storage table; [Alternatively, it is recommended to create a separate table for 100,000 rows of data in one go.]

The excessive data volume has resulted in a massive read/write workload on MySQL's I/O operations, causing an excessive load on the entire server.

In particular, the Empire CMS backend is slow to respond, especially when handling sections with large data volumes. Before I implemented separate database tables for my website, clicking on a section with a large data volume in the backend would cause the page to load extremely slowly, instantly pushing the server load to 100%; however, both memory and CPU usage remained around 20% (2-core processor, 4 GB RAM, 20 MB bandwidth).

How to perform table sharding on already published data?

For already published data—such as a dataset containing 2 million articles—how can these articles be evenly distributed across 20 data sub-tables? Or, consider a single table with 100,000 records!

It's very simple: just open the database and perform the operation – in this example, we'll move the second batch of 50,000 records to a newly created data table!

Please create a sub-table first!

Step 1: Copy Subsheet_1 to Subsheet_2

INSERT INTO phome_ecms_news_data_2
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 50001 AND T2.ID<= 100000;

Step 2: Modify the data in the main table so that it references the Secondary Table 2.

update phome_ecms_news set stb=REPLACE(stb,1,2)
WHERE ID>= 50001 AND ID<= 100000;

Step 3: Remove the data that has already been moved from Subtable_1.

DELETE FROM phome_ecms_news_data_1 
WHERE ID>= 50001 AND ID<= 100000;

How to evenly distribute millions of records across multiple sub-tables using Empire CMS?

Writing SQL statements one by one can be quite slow, so I've thoughtfully prepared a ready-made solution for everyone!

#---------------------------第1组分表SQL------------------------------
#副表_2数据迁移,迁移50001到100000之间的数据
INSERT INTO phome_ecms_news_data_2
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 50001 AND T2.ID<= 100000;

#更新主表与副表_2的关系
update phome_ecms_news set stb=REPLACE(stb,1,2)
WHERE ID>= 50001 AND ID<= 100000;

#删除副表_2中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 50001 AND ID<= 100000;

#---------------------------第2组分表SQL------------------------------
#副表_3数据迁移,迁移100001到150000之间的数据
INSERT INTO phome_ecms_news_data_3
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 100001 AND T2.ID<= 150000;

#更新主表与副表_3的关系
update phome_ecms_news set stb=REPLACE(stb,1,3)
WHERE ID>= 100001 AND ID<= 150000;

#删除副表_3中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 100001 AND ID<= 150000;

#---------------------------第3组分表SQL------------------------------
#副表_4数据迁移,迁移150001到200000之间的数据
INSERT INTO phome_ecms_news_data_4
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 150001 AND T2.ID<= 200000;

#更新主表与副表_4的关系
update phome_ecms_news set stb=REPLACE(stb,1,4)
WHERE ID>= 150001 AND ID<= 200000;

#删除副表_4中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 150001 AND ID<= 200000;

#---------------------------第4组分表SQL------------------------------
#副表_5数据迁移,迁移200001到250000之间的数据
INSERT INTO phome_ecms_news_data_5
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 200001 AND T2.ID<= 250000;

#更新主表与副表_5的关系
update phome_ecms_news set stb=REPLACE(stb,1,5)
WHERE ID>= 200001 AND ID<= 250000;

#删除副表_5中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 200001 AND ID<= 250000;

#---------------------------第5组分表SQL------------------------------
#副表_6数据迁移,迁移250001到300000之间的数据
INSERT INTO phome_ecms_news_data_6
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 250001 AND T2.ID<= 300000;

#更新主表与副表_6的关系
update phome_ecms_news set stb=REPLACE(stb,1,6)
WHERE ID>= 250001 AND ID<= 300000;

#删除副表_6中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 250001 AND ID<= 300000;

#---------------------------第6组分表SQL------------------------------
#副表_7数据迁移,迁移300001到350000之间的数据
INSERT INTO phome_ecms_news_data_7
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 300001 AND T2.ID<= 350000;

#更新主表与副表_7的关系
update phome_ecms_news set stb=REPLACE(stb,1,7)
WHERE ID>= 300001 AND ID<= 350000;

#删除副表_7中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 300001 AND ID<= 350000;

#---------------------------第7组分表SQL------------------------------
#副表_8数据迁移,迁移350001到400000之间的数据
INSERT INTO phome_ecms_news_data_8
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 350001 AND T2.ID<= 400000;

#更新主表与副表_8的关系
update phome_ecms_news set stb=REPLACE(stb,1,8)
WHERE ID>= 350001 AND ID<= 400000;

#删除副表_8中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 350001 AND ID<= 400000;

#---------------------------第8组分表SQL------------------------------
#副表_9数据迁移,迁移400001到450000之间的数据
INSERT INTO phome_ecms_news_data_9
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 400001 AND T2.ID<= 450000;

#更新主表与副表_9的关系
update phome_ecms_news set stb=REPLACE(stb,1,9)
WHERE ID>= 400001 AND ID<= 450000;

#删除副表_9中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 400001 AND ID<= 450000;

#---------------------------第9组分表SQL------------------------------
#副表_10数据迁移,迁移450001到500000之间的数据
INSERT INTO phome_ecms_news_data_10
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 450001 AND T2.ID<= 500000;

#更新主表与副表_10的关系
update phome_ecms_news set stb=REPLACE(stb,1,10)
WHERE ID>= 450001 AND ID<= 500000;

#删除副表_10中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 450001 AND ID<= 500000;

#---------------------------第10组分表SQL------------------------------
#副表_11数据迁移,迁移500001到550000之间的数据
INSERT INTO phome_ecms_news_data_11
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 500001 AND T2.ID<= 550000;

#更新主表与副表_11的关系
update phome_ecms_news set stb=REPLACE(stb,1,11)
WHERE ID>= 500001 AND ID<= 550000;

#删除副表_11中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 500001 AND ID<= 550000;

#---------------------------第11组分表SQL------------------------------
#副表_12数据迁移,迁移550001到600000之间的数据
INSERT INTO phome_ecms_news_data_12
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 550001 AND T2.ID<= 600000;

#更新主表与副表_12的关系
update phome_ecms_news set stb=REPLACE(stb,1,12)
WHERE ID>= 550001 AND ID<= 600000;

#删除副表_12中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 550001 AND ID<= 600000;

#---------------------------第12组分表SQL------------------------------
#副表_13数据迁移,迁移600001到650000之间的数据
INSERT INTO phome_ecms_news_data_13
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 600001 AND T2.ID<= 650000;

#更新主表与副表_13的关系
update phome_ecms_news set stb=REPLACE(stb,1,13)
WHERE ID>= 600001 AND ID<= 650000;

#删除副表_13中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 600001 AND ID<= 650000;

#---------------------------第13组分表SQL------------------------------
#副表_14数据迁移,迁移650001到700000之间的数据
INSERT INTO phome_ecms_news_data_14
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 650001 AND T2.ID<= 700000;

#更新主表与副表_14的关系
update phome_ecms_news set stb=REPLACE(stb,1,14)
WHERE ID>= 650001 AND ID<= 700000;

#删除副表_14中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 650001 AND ID<= 700000;

#---------------------------第14组分表SQL------------------------------
#副表_15数据迁移,迁移700001到750000之间的数据
INSERT INTO phome_ecms_news_data_15
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 700001 AND T2.ID<= 750000;

#更新主表与副表_15的关系
update phome_ecms_news set stb=REPLACE(stb,1,15)
WHERE ID>= 700001 AND ID<= 750000;

#删除副表_15中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 700001 AND ID<= 750000;

#---------------------------第15组分表SQL------------------------------
#副表_16数据迁移,迁移750001到800000之间的数据
INSERT INTO phome_ecms_news_data_16
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 750001 AND T2.ID<= 800000;

#更新主表与副表_16的关系
update phome_ecms_news set stb=REPLACE(stb,1,16)
WHERE ID>= 750001 AND ID<= 800000;

#删除副表_16中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 750001 AND ID<= 800000;

#---------------------------第16组分表SQL------------------------------
#副表_17数据迁移,迁移800001到850000之间的数据
INSERT INTO phome_ecms_news_data_17
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 800001 AND T2.ID<= 850000;

#更新主表与副表_17的关系
update phome_ecms_news set stb=REPLACE(stb,1,17)
WHERE ID>= 800001 AND ID<= 850000;

#删除副表_17中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 800001 AND ID<= 850000;

#---------------------------第17组分表SQL------------------------------
#副表_18数据迁移,迁移850001到900000之间的数据
INSERT INTO phome_ecms_news_data_18
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 850001 AND T2.ID<= 900000;

#更新主表与副表_18的关系
update phome_ecms_news set stb=REPLACE(stb,1,18)
WHERE ID>= 850001 AND ID<= 900000;

#删除副表_18中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 850001 AND ID<= 900000;

#---------------------------第18组分表SQL------------------------------
#副表_19数据迁移,迁移900001到950000之间的数据
INSERT INTO phome_ecms_news_data_19
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 900001 AND T2.ID<= 950000;

#更新主表与副表_19的关系
update phome_ecms_news set stb=REPLACE(stb,1,19)
WHERE ID>= 900001 AND ID<= 950000;

#删除副表_19中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 900001 AND ID<= 950000;

#---------------------------第19组分表SQL------------------------------
#副表_20数据迁移,迁移950001到1000000之间的数据
INSERT INTO phome_ecms_news_data_20
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 950001 AND T2.ID<= 1000000;

#更新主表与副表_20的关系
update phome_ecms_news set stb=REPLACE(stb,1,20)
WHERE ID>= 950001 AND ID<= 1000000;

#删除副表_20中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 950001 AND ID<= 1000000;

#---------------------------第20组分表SQL------------------------------
#副表_21数据迁移,迁移1000001到1050000之间的数据
INSERT INTO phome_ecms_news_data_21
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1000001 AND T2.ID<= 1050000;

#更新主表与副表_21的关系
update phome_ecms_news set stb=REPLACE(stb,1,21)
WHERE ID>= 1000001 AND ID<= 1050000;

#删除副表_21中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1000001 AND ID<= 1050000;

#---------------------------第21组分表SQL------------------------------
#副表_22数据迁移,迁移1050001到1100000之间的数据
INSERT INTO phome_ecms_news_data_22
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1050001 AND T2.ID<= 1100000;

#更新主表与副表_22的关系
update phome_ecms_news set stb=REPLACE(stb,1,22)
WHERE ID>= 1050001 AND ID<= 1100000;

#删除副表_22中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1050001 AND ID<= 1100000;

#---------------------------第22组分表SQL------------------------------
#副表_23数据迁移,迁移1100001到1150000之间的数据
INSERT INTO phome_ecms_news_data_23
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1100001 AND T2.ID<= 1150000;

#更新主表与副表_23的关系
update phome_ecms_news set stb=REPLACE(stb,1,23)
WHERE ID>= 1100001 AND ID<= 1150000;

#删除副表_23中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1100001 AND ID<= 1150000;

#---------------------------第23组分表SQL------------------------------
#副表_24数据迁移,迁移1150001到1200000之间的数据
INSERT INTO phome_ecms_news_data_24
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1150001 AND T2.ID<= 1200000;

#更新主表与副表_24的关系
update phome_ecms_news set stb=REPLACE(stb,1,24)
WHERE ID>= 1150001 AND ID<= 1200000;

#删除副表_24中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1150001 AND ID<= 1200000;

#---------------------------第24组分表SQL------------------------------
#副表_25数据迁移,迁移1200001到1250000之间的数据
INSERT INTO phome_ecms_news_data_25
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1200001 AND T2.ID<= 1250000;

#更新主表与副表_25的关系
update phome_ecms_news set stb=REPLACE(stb,1,25)
WHERE ID>= 1200001 AND ID<= 1250000;

#删除副表_25中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1200001 AND ID<= 1250000;

#---------------------------第25组分表SQL------------------------------
#副表_26数据迁移,迁移1250001到1300000之间的数据
INSERT INTO phome_ecms_news_data_26
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1250001 AND T2.ID<= 1300000;

#更新主表与副表_26的关系
update phome_ecms_news set stb=REPLACE(stb,1,26)
WHERE ID>= 1250001 AND ID<= 1300000;

#删除副表_26中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1250001 AND ID<= 1300000;

#---------------------------第26组分表SQL------------------------------
#副表_27数据迁移,迁移1300001到1350000之间的数据
INSERT INTO phome_ecms_news_data_27
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1300001 AND T2.ID<= 1350000;

#更新主表与副表_27的关系
update phome_ecms_news set stb=REPLACE(stb,1,27)
WHERE ID>= 1300001 AND ID<= 1350000;

#删除副表_27中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1300001 AND ID<= 1350000;

#---------------------------第27组分表SQL------------------------------
#副表_28数据迁移,迁移1350001到1400000之间的数据
INSERT INTO phome_ecms_news_data_28
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1350001 AND T2.ID<= 1400000;

#更新主表与副表_28的关系
update phome_ecms_news set stb=REPLACE(stb,1,28)
WHERE ID>= 1350001 AND ID<= 1400000;

#删除副表_28中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1350001 AND ID<= 1400000;

#---------------------------第28组分表SQL------------------------------
#副表_29数据迁移,迁移1400001到1450000之间的数据
INSERT INTO phome_ecms_news_data_29
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 1400001 AND T2.ID<= 1450000;

#更新主表与副表_29的关系
update phome_ecms_news set stb=REPLACE(stb,1,29)
WHERE ID>= 1400001 AND ID<= 1450000;

#删除副表_29中已经移动成功的数据
DELETE FROM phome_ecms_news_data_1
WHERE ID>= 1400001 AND ID<= 1450000;

Add a PHP script for generating SQL statements, which can batch-create the SQL statements mentioned above.

Honestly, handwriting is absolutely exhausting!

 隐藏内容:评论后查看
<?php

for($i=2;$i<30;$i++){

echo "
#---------------------------第".($i-1)."组分表SQL------------------------------<br>
#副表_{$i}数据迁移,迁移".((($i-1)*50000)+1)."到".(($i*50000))."之间的数据<br>
INSERT INTO phome_ecms_news_data_{$i}<br>
SELECT * FROM phome_ecms_news_data_1 T2<br>
WHERE T2.ID>= ".((($i-1)*50000)+1)." AND T2.ID<= ".(($i*50000)).";<br>
<br>
#更新主表与副表_{$i}的关系<br>
update phome_ecms_news set stb=REPLACE(stb,1,{$i})<br>
WHERE ID>= ".((($i-1)*50000)+1)." AND ID<= ".(($i*50000)).";<br>
<br>
#删除副表_{$i}中已经移动成功的数据<br>
DELETE FROM phome_ecms_news_data_1<br>
WHERE ID>= ".((($i-1)*50000)+1)." AND ID<= ".(($i*50000)).";<br><br>

";
}

微信赞赏

WeChat

支付宝赞赏

Alipay

✍️ Author: Hong Mu

webmaster · Thanks for reading, stay tuned for more exciting content

Author homepage View home page →

Related articles

Empire CMS database statement & SQL statement format

Empire CMS database statement & SQL statement format Program Notes Empire cms

Introduction to Imperial CMS extended SQL program writing, basic examples of Imperial CMS database statements & SQL statement formats: Note: The following examples are based on placing PHP files in the system root directory. Example 1: Connect to MYSQL program. (a.php)<?php require('e/class/connect.php'); //Introduce database configuration files and public function files requ…
👁 351
Empire CMS obtains the system COOKIE variable function getcvar()

Empire CMS obtains the system COOKIE variable function getcvar() Program Notes Empire cms

Get the system COOKIE variable function syntax: getcvar($var,$ecms) Description: $var: is the variable name $ecms: 0 is to set the foreground COOKIE variable, 1 is to set the background COOKIE variable. This parameter can be omitted and defaults to 0. Usage example: getcvar('mlusername'), get the user name of the front-end login member getcvar('loginu...
👁 294
Empire CMS smart label call field collection

Empire CMS smart label call field collection Program Notes Empire cms

Collect and classify all fields that support smart tag calls into Empire CMS smart tags: [e:loop={column ID/topic ID, number of items displayed, operation type, only display pictures with titles, additional SQL conditions, display sorting}] Template code content [/e:loop] Calling time: <?=date('m-d',$bqr[newstime])?> <?=dat…
👁 3748

Recommended reading

Responsive Remote Online Education Institution Website Template 0840

Responsive Remote Online Education Institution Website Template 0840 Practical Collection Yiyou template

This EyouCMS responsive template is ideal for remote online education institutions. Its modern, technology-driven design is perfect for showcasing online courses, teaching platforms, faculty resources, and student achievements. It helps online education providers attract students and enhance their brand awareness. Template Display | Installation Instructions | Website Backend: /login.php | Username: admin | Password: admin | Related Articles: Summary of Common Installation Issues for EyouCMS | EyouCMS...
👁 47
Responsive Tea Wholesale Company Website Template 0182

Responsive Tea Wholesale Company Website Template 0182 Practical Collection Yiyou template

An eyouCMS responsive website template designed specifically for tea wholesale companies. Its professional and practical design enables effective presentation of tea products, wholesale prices, supply chain advantages, and brand stories. This template helps tea wholesalers expand their online sales channels and attract distributor clients. Template Display | Installation Instructions | Website Backend: /login.php | Username: admin | Password: admin | Related Articles: Summary of Common Installation Issues for YououCMS | YououCMS...
👁 38
(Independent Mobile Version) Blue Marketing-oriented Mobile Website Template for Online Companies – Universal Corporate Website WAP Source Code – 0718

(Independent Mobile Version) Blue Marketing-oriented Mobile Website Template for Online Companies – Universal Corporate Website WAP Source Code – 0718 Practical Collection pbootcms Template

This independent mobile version of the blue marketing network company template, is PbootCMS to build the general enterprise WAP website quality choice. The design style is modern and simple, suitable for IT, network technology companies to display services and cases. It helps enterprises to build a professional brand image on the mobile terminal and attract potential customers. Template display, installation instructions Website background: / admin.php account: admin password: admin decompression password: w...
👁 48
(PC + WAP) Green Atmospheric Acoustic Building Materials – pbootcms Website Template; Download Source Code for an Eco-Friendly Interior Decoration Building Materials Website – 0087

(PC + WAP) Green Atmospheric Acoustic Building Materials – pbootcms Website Template; Download Source Code for an Eco-Friendly Interior Decoration Building Materials Website – 0087 Practical Collection pbootcms Template

A PbootCMS website template designed for the acoustic building materials and eco-friendly decoration materials industry, featuring a green-themed design and supporting access via both PC and WAP devices. Its modern, eco-friendly design effectively showcases the application of acoustic products—such as sound-insulating and sound-absorbing materials—in architectural projects. This template helps acoustic building materials companies demonstrate their technical expertise online and secure construction projects. Template Display | Installation Instructions | Website Backend: /admin.php | Username: admin | Password: admin...
👁 67
Immigration & Overseas Study Business Service Website Template 0841

Immigration & Overseas Study Business Service Website Template 0841 Practical Collection Yiyou template

An eYouCMS website template designed for immigration, international education, and overseas business services. Its international, professional design effectively showcases study abroad services, immigration programs, business consulting, and success stories, helping overseas service providers attract potential clients online. Template Display | Installation Instructions | Website Backend: /login.php | Username: admin | Password: admin | Related Articles: Summary of Common Installation Issues for eYouCMS | eYouCMS (...
👁 36
Responsive, eco-friendly, and refreshing garden-themed website template – 0183

Responsive, eco-friendly, and refreshing garden-themed website template – 0183 Practical Collection Yiyou template

This EyouCMS responsive template is ideal for the green and refreshing landscaping industry, featuring a natural and artistic design style that effectively showcases landscape design projects, greening projects, plant arrangement, and maintenance services. It enables landscaping companies to showcase their portfolio online and attract high-end project clients. Template Display | Installation Instructions | Website Backend: /login.php | Username: admin | Password: admin | Related Articles: Summary of Common Installation Issues for EyouCMS...
👁 47