Home Backend Development PHP Tutorial Discussion on optimization design of database table structure in multi-layout forum_PHP tutorial

Discussion on optimization design of database table structure in multi-layout forum_PHP tutorial

Jul 13, 2016 pm 05:25 PM
and optimization exist database of structure surface discuss forum design close

I have been thinking about a new forum recently. I would like to discuss with you the issue of "optimized design of database table structure for multi-layout forums".

Question raised:
As a comprehensive forum, it is bound to encounter the problem of forum classification. The common single-level, multi-page structure is too simple, and cannot handle classification issues, making it impossible to achieve more complex classifications. Although a multi-level and multi-page structure like phorum can achieve arbitrarily complex classification (can achieve infinite levels of directory classification structures), the problem is that navigation is not intuitive and inconvenient. Therefore, I think that the two-layer multi-page structure currently common on the Internet is relatively reasonable. It basically meets the requirements of comprehensive forum classification and can more easily implement an intuitive and convenient forum navigation interface. Examples include www.chinaasp. com current forum. This structure has two levels of directories, the upper level is the general category, and the lower level is the classification, that is, the specific forum layout. How to use database tables to implement this structure more efficiently?

Option 1:
No matter how many forums the forum has in the future, all posts will be stored in a table. This table will record all the information of a post and the ID number of the subcategory to which the post belongs. Assume that this table is called T_articles, use table T_columns1 to record the major category information (the major category name and the ID number of the major category), and use table T_columns2 to record the subcategory information (the subcategory name, the subcategory ID number and the major category to which the subcategory belongs). ID number)

Option 2:
Create a new table for each subcategory, and store all posts belonging to this category into this table. This table only records the self-information of a post (topic, text, etc.), such tables are represented by T_articles1, T_articles2, etc. Use table T_columns1 to record major category information (major category name and ID number of the major category), and use table T_columns2 to record subcategory information (subcategory name, subcategory ID number, and the major category ID number to which the subcategory belongs)

Requirements:
1. It is required that both large and small categories can be easily expanded in the future;
2. It is required that the designed table structure can improve the efficiency of database retrieval;

Comparison:
Scheme Which one is better, plan one or plan two?

Would you like to discuss it?


Reprinted a reply from a friend in "Jiangnan Forum"
cach posted on Programming Basecamp at 2001-1-18 23:51:59
Option 1 is better to expand the layout. But the disadvantage is that as the number of posts increases, the amount of data will become larger and larger.


It will be more time-consuming to do a query, and it will be troublesome if there is a problem with the data table.
But the advantage is that programming is much easier. Many forums now use this solution!
Option 2 will be faster in comparison, but it may take more time to program!
I think some content should be added to the second option, that is, adding a field to T_columns2 to
put the table name of the newly created subclass (because the second option is to build a table in a discussion area, these tables Because they are all added dynamically by
, it is necessary to add a field to store the table name. Then you can use this field as a parameter
to generate the corresponding discussion area). The advantage is that it is fast and has one discussion area table. If something goes wrong, it won't affect
other discussion forums, so I still think option two is better!
The above is my personal opinion!

Copyright statement: The copyright of this post belongs to the submitter, cach. Reprinting or reposting on other websites must indicate the source. Reprinting in traditional media must contact the original author and the Jiangxi hotline in advance. The submitter of this post speaks purely These are personal opinions and have nothing to do with the position of this website.

http://www.bkjia.com/PHPjc/532076.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/532076.htmlTechArticleI have been imagining a brand new forum recently. I would like to discuss with you the issue of "optimized design of database table structure for multi-layout forums". Question raised: As a comprehensive...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Honor Magic V3 debuts AI defocus eye protection technology: effectively alleviates the development of myopia Honor Magic V3 debuts AI defocus eye protection technology: effectively alleviates the development of myopia Jul 18, 2024 am 09:27 AM

According to news on July 12, the Honor Magic V3 series was officially released today, equipped with the new Honor Vision Soothing Oasis eye protection screen. While the screen itself has high specifications and high quality, it also pioneered the introduction of AI active eye protection technology. It is reported that the traditional way to alleviate myopia is "myopia glasses". The power of myopia glasses is evenly distributed to ensure that the central area of ​​​​sight is imaged on the retina, but the peripheral area is imaged behind the retina. The retina senses that the image is behind, promoting the eye axis direction. grow later, thereby deepening the degree. At present, one of the main ways to alleviate the development of myopia is the "defocus lens". The central area has a normal power, and the peripheral area is adjusted through optical design partitions, so that the image in the peripheral area falls in front of the retina.

Honor X60i mobile phone is on sale starting from 1,399 yuan: visual quadrilateral OLED direct screen Honor X60i mobile phone is on sale starting from 1,399 yuan: visual quadrilateral OLED direct screen Jul 29, 2024 pm 08:25 PM

According to news on July 29, the Honor X60i mobile phone is officially on sale today, starting at 1,399 yuan. In terms of design, the Honor X60i mobile phone adopts a straight screen design with a hole in the center and almost unbounded ultra-narrow borders on all four sides, which greatly broadens the field of view. Honor X60i parameters Display: 6.7-inch high-definition display Battery: 5000mAh large-capacity battery Processor: Dimensity 6080 processor (TSMC 6nm, 2x2.4G A76+6×2G A55) System: MagicOS8.0 system Other features: 5G signal enhancement, smart capsule, under-screen fingerprint, dual MIC, noise reduction, knowledge Q&A, photography capabilities: rear dual camera system: 50 million pixels main camera, 2 million pixels auxiliary lens, front selfie lens: 8 million pixels, price: 8GB

Vivo's phone with the strongest signal! vivo X100s is equipped with a universal signal amplification system: 21 antennas, 360° surround design Vivo's phone with the strongest signal! vivo X100s is equipped with a universal signal amplification system: 21 antennas, 360° surround design Jun 03, 2024 pm 08:41 PM

According to news on May 13, vivoX100s was officially released tonight. In addition to excellent images, the new phone also performs very well in terms of signal. According to vivo’s official introduction, vivoX100s uses an innovative universal signal amplification system, which is equipped with up to 21 antennas. This design has been re-optimized based on the direct screen to balance many signal requirements such as 5G, 4G, Wi-Fi, GPS, and NFC. This makes vivoX100s the mobile phone with the strongest signal reception capability in vivo’s history. The new phone also uses a unique 360° surround design, with antennas distributed around the body. This design not only enhances the signal strength, but also optimizes various daily holding postures to avoid problems caused by improper holding methods.

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

C++ program optimization: time complexity reduction techniques C++ program optimization: time complexity reduction techniques Jun 01, 2024 am 11:19 AM

Time complexity measures the execution time of an algorithm relative to the size of the input. Tips for reducing the time complexity of C++ programs include: choosing appropriate containers (such as vector, list) to optimize data storage and management. Utilize efficient algorithms such as quick sort to reduce computation time. Eliminate multiple operations to reduce double counting. Use conditional branches to avoid unnecessary calculations. Optimize linear search by using faster algorithms such as binary search.

New stacking process! Xiaomi MIX Fold 4 is equipped with Jinshajiang 'three-dimensional special-shaped' battery for the first time New stacking process! Xiaomi MIX Fold 4 is equipped with Jinshajiang 'three-dimensional special-shaped' battery for the first time Jul 20, 2024 am 03:20 AM

According to news on July 19, Xiaomi MIX Fold 4, the first flagship folding new phone, was officially released tonight and is equipped with a "three-dimensional special-shaped battery" for the first time. According to reports, Xiaomi MIX Fold4 has achieved a major breakthrough in battery technology and designed an innovative "three-dimensional special-shaped battery" specifically for folding screens. Traditional folding screen devices mostly use conventional square batteries, which have low space utilization efficiency. In order to solve this problem, Xiaomi did not use the common winding battery cells, but developed a new lamination process to create a new form of battery, which greatly improved the space utilization. Battery Technology Innovation In order to accurately alternately stack positive and negative electrode sheets and ensure the safe embedding of lithium ions, Xiaomi has developed a new ultrasonic welding machine and lamination machine to improve welding and cutting accuracy.

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

See all articles