HomePage > Blog > Knowledge Base > How to create the best BOM for your PCB Assembly
How to create the best BOM for your PCB Assembly
2121
You’ve been working for months on a custom PCB design and finally, it’s done, all the
layout and schematic is properly arranged and it’s ready to go for the rapid prototyping stage and later on to mass production. But wait, haven’t we forgotten something? That’s right, the BOM. In this article, we’ll walk through what is BOM, why it’s important, what we should consider when choosing the components and the materials within our BOM,
and different ways of generating BOM files.
What is BOM and why it’s so important
BOM stands for Bill of materials, as the name states it’s simply a document that states
what materials are used during the custom PCB design production process. As simple as it might sound, there is a big difference between simply making a BOM and making a well-designed BOM that could serve you well during the production process. A welldesigned BOM PCB won’t leave any questions unanswered, it will be detailed, specific, and directly specify which components should be placed where and at what position.
Creating a well designed BOM PCB Design is very important for multiple aspects:
1. It will be easy to navigate and read through, change, modify and track revisions
2. It will eliminate questions such as components directions, components values, etc. 3. It will save valuable time in communication and clarification on the factory side. 4. It could save cost if designed properly. Although it might sound simple, it’s important to implement it well as the benefits we’ll earn by well designing our BOM file are priceless. It’s suggested that the BOM file comes in a common, easy-to-read format such as CSV or EXCEL (most often excel).
Choosing the right components for your BOM
When designing the PCB it’s easy to choose the best, most suitable components for
your design without considering the implications on the BOM, once the design is finished and we create our BOM we will find out how the BOM PCB price affects our PCBA production, often, by components that could easily be replaced with a more costeffective
alternative.
When choosing the components during the PCB design, it’s important to consider the BOM, choosing common components that are widely available and in stock (at least during the design stage), doing so will prevent us from unexpected surprises such as
expensive components and unavailability of stock.
Often, multiple components will have an alternative that fits the footprint of the original component mentioned in the design, adding an alternative column to your BOM could be a great solution to tackle a situation where the original component is either out of stock or its price drastically increased. Alternative components should be well tested during the prototype PCB assembly to ensure they work well just like the original component.
Auto generated vs Manual made BOM
When creating a BOM there is an optional feature usually located in the CAD design
software to auto-generate the bill of materials based on the components located in the design, often such an option is not recommended as it might not be detailed enough and might contain some software-generated errors, in such case, it’s highly recommended to manually create a BOM based on the components we included in our
design.
This manually created BOM can depend on the auto-generated software BOM but must be carefully checked and corrected for errors, some components might require more clarification such as specific notes, values, alternatives, and so on ...
Here are some of the columns to consider when manually creating your BOM file:
1. part name - this can be an internal SKU used at your company to define the part in the stock management system (if you have any) 2. part description - detailed part description including value, footprint, name, model, etc. 3. alternative - an alternative component that could be replaced in case the original component is out of stock. 4. quantity - how many components will be used in the design 5. placement tag - where the component will be placed, usually such tag defined by a single letter and number, for example, R stands for resistor, C stands for capacitor, and so on ... 6. SMT pads - this is used by the factory to determine the price of the production, specify how many SMT pads are used in each component that is placed.
For internal use, it will be very useful to add links to popular distributors and
manufacturers of components such as DigiKey, Mouser, LCSC, and so on ... in order to find the component more easily and re-purchase it if source the components on your own.
Certification standard for components
Each component is likely to have multiple purchasing options such as different vendors,
suppliers, and manufacturers. The component might look the same and function the same but a quick look at the datasheet could tell whenever the component has the necessary certifications and standards to operate in different countries and regions. The basic requirement will be RoHs certification, ensuring your components pass RoHs certification can ensure the safety of the customers, some countries such as the EU require RoHS in order to distribute the products across different regions. Ensuring the components have RoHs is a basic requirement that could save you a lot of headaches
Other certifications such as CE/FCC are also important and mostly included in modules or pre-certified electronics, if the product goal is to be pre-certified and ready to use, including well-certified components in your BOM is crucial.
ERP for BOM management
Once you designed your BOM and included all the crucial components such as
component name, value, type, footprint, available alternatives and others, it’s time to consider an extra addition that could help you keep track of your BOM and make sure it’s updated at all times. Many distributers such as Mouser, LCSC and Digikey offer a free to use ERP system where you could upload your BOM and receive real time updates of components availability, stock, price and lead time. This is extremely useful before mass production in order to ensure that all the components in the created BOM can be used, in case of shortage or other possible faults, the design might need to be
revised in order to ensure flawless production.
Another option will be to let manufacturers such as PCBasic to handle all of this for you. in PCBasic we developed our own custom MES and ERP system that allows to track the entire manufacturing and fabrication process, from receiving the order, to PCB, components purchasing, tests and delivering the final product to the customer. Instead of worrying about components availability and shortage, you can upload your well crafted BOM when setting order on PCBasic.com, probably the best prototype PCB manufacturer and we will take care of the rest for you!
Citations:
About Author
Leading Printed Circuit Board Assembly(PCBA) Manufacturer
SHOW FULL COLUMNS FROM `db_category` [ RunTime:0.000727s ]
SELECT `id`,`module`,`url`,`catdir` FROM `db_category` WHERE `ismenu` = 1 [ RunTime:0.000369s ]
SHOW FULL COLUMNS FROM `db_member` [ RunTime:0.000737s ]
SHOW FULL COLUMNS FROM `db_page` [ RunTime:0.000598s ]
SHOW FULL COLUMNS FROM `db_article` [ RunTime:0.000566s ]
SELECT `catid` FROM `db_article` WHERE `route` = 'how_to_create_the_best_bom_for_your_pcb_assembly' LIMIT 1 [ RunTime:0.000267s ]
SELECT * FROM `db_category` WHERE `id` = 235 LIMIT 1 [ RunTime:0.000272s ]
SELECT `id` FROM `db_article` WHERE `catid` = 235 AND `route` = 'how_to_create_the_best_bom_for_your_pcb_assembly' LIMIT 1 [ RunTime:0.000244s ]
SELECT * FROM `db_article` WHERE `id` = 40 LIMIT 1 [ RunTime:0.000256s ]
UPDATE `db_article` SET `hits` = `hits` + 1 WHERE `id` = 40 [ RunTime:0.002305s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `id` = 223 AND `status` = 1 AND `ismenu` = 1 [ RunTime:0.000433s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 223 [ RunTime:0.000252s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 223 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000362s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 224 [ RunTime:0.000205s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 311 [ RunTime:0.000192s ]
SELECT `arrchildid` FROM `db_category` WHERE `id` = 292 LIMIT 1 [ RunTime:0.000222s ]
SHOW FULL COLUMNS FROM `db_case` [ RunTime:0.000623s ]
SELECT `title`,`id`,`thumb`,`url`,`description`,`createtime`,`status` FROM `db_case` WHERE `catid` = 292 ORDER BY `listorder` ASC,`createtime` DESC,`id` DESC LIMIT 8 [ RunTime:0.000350s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 227 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000296s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 243 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 244 [ RunTime:0.000189s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 245 [ RunTime:0.000188s ]
SELECT `arrchildid` FROM `db_category` WHERE `id` = 297 LIMIT 1 [ RunTime:0.000197s ]
SELECT `title`,`id`,`thumb`,`url`,`description`,`createtime`,`status` FROM `db_case` WHERE `catid` = 297 ORDER BY `listorder` ASC,`createtime` DESC,`id` DESC LIMIT 8 [ RunTime:0.000303s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `id` IN (310,229,232) AND `status` = 1 AND `ismenu` = 1 [ RunTime:0.000282s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 229 [ RunTime:0.000201s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 229 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000269s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 230 [ RunTime:0.000208s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 231 [ RunTime:0.000190s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 232 [ RunTime:0.000187s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 232 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000315s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 233 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 234 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 235 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 236 [ RunTime:0.000325s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 320 [ RunTime:0.000194s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 320 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000273s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 322 [ RunTime:0.000197s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 323 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 330 [ RunTime:0.000189s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 330 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000264s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 331 [ RunTime:0.000195s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 310 [ RunTime:0.000187s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `id` IN (237,279,253) AND `status` = 1 AND `ismenu` = 1 [ RunTime:0.000268s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 237 [ RunTime:0.000198s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 237 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000274s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 238 [ RunTime:0.000200s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 238 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000329s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 265 [ RunTime:0.000200s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 266 [ RunTime:0.000190s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 267 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 268 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 269 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 270 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 271 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 272 [ RunTime:0.000182s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 273 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 251 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 252 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 253 [ RunTime:0.000185s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 253 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000319s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 254 [ RunTime:0.000213s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 255 [ RunTime:0.000189s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 256 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 257 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 258 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 259 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 260 [ RunTime:0.000185s ]
SHOW FULL COLUMNS FROM `db_banner` [ RunTime:0.000643s ]
SELECT * FROM `db_banner` WHERE `id` = 43 LIMIT 1 [ RunTime:0.000278s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `id` = 232 AND `status` = 1 AND `ismenu` = 1 [ RunTime:0.000239s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 232 [ RunTime:0.000200s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 232 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000317s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 233 [ RunTime:0.000199s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 234 [ RunTime:0.000189s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 235 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 236 [ RunTime:0.000193s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 320 [ RunTime:0.000189s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 320 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000280s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 322 [ RunTime:0.000197s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 323 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 330 [ RunTime:0.000190s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 330 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000255s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 331 [ RunTime:0.000194s ]
SELECT `id` FROM `db_article` WHERE `catid` = 235 ORDER BY `listorder` ASC,`createtime` DESC,`id` DESC [ RunTime:0.000472s ]
SELECT `id`,`url`,`title` FROM `db_article` WHERE `id` = 41 LIMIT 1 [ RunTime:0.000203s ]
SELECT `id`,`url`,`title` FROM `db_article` WHERE `id` = 39 LIMIT 1 [ RunTime:0.000189s ]
SELECT `arrchildid` FROM `db_category` WHERE `id` = 235 LIMIT 1 [ RunTime:0.000193s ]
SELECT `title`,`id`,`thumb`,`url`,`description`,`createtime` FROM `db_article` WHERE `catid` = 235 ORDER BY `listorder` ASC,`createtime` DESC,`id` DESC LIMIT 5 [ RunTime:0.000425s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `id` IN (226,237,253,261) AND `status` = 1 AND `ismenu` = 1 [ RunTime:0.000294s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 226 [ RunTime:0.000201s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 226 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000345s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 228 [ RunTime:0.000200s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 228 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000315s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 246 [ RunTime:0.000199s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 246 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000264s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 280 [ RunTime:0.000195s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 247 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 248 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 249 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 250 [ RunTime:0.000187s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 250 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000395s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 284 [ RunTime:0.000200s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 285 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 286 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 288 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 289 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 287 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 290 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 242 [ RunTime:0.000186s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 242 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000274s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 274 [ RunTime:0.000196s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 275 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 276 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 277 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 278 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 281 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 282 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 283 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 237 [ RunTime:0.000247s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 237 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000283s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 238 [ RunTime:0.000199s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 238 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000326s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 265 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 266 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 267 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 268 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 269 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 270 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 271 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 272 [ RunTime:0.000187s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 273 [ RunTime:0.000184s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 251 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 252 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 253 [ RunTime:0.000185s ]
SELECT `id`,`name`,`pid`,`url`,`module` FROM `db_category` WHERE `pid` = 253 AND `status` = 1 AND `ismenu` = 1 ORDER BY `listorder` ASC,`id` ASC [ RunTime:0.000310s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 254 [ RunTime:0.000198s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 255 [ RunTime:0.000188s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 256 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 257 [ RunTime:0.000186s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 258 [ RunTime:0.000185s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 259 [ RunTime:0.000183s ]
SELECT COUNT(*) AS think_count FROM `db_category` WHERE `pid` = 260 [ RunTime:0.000183s ]
SELECT * FROM `db_page` WHERE `catid` = 2 LIMIT 1 [ RunTime:0.000279s ]