Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

WooCommerce and Magento store commerce data in fundamentally different ways. WooCommerce is a WordPress extension, so products, customers, taxonomies, settings, and (in legacy mode) orders use familiar WordPress tables alongside WooCommerce-specific tables. Newer stores may use High-Performance Order Storage (HPOS), which moves authoritative order records into dedicated tables. Magento is built around resource models and uses Entity-Attribute-Value (EAV) storage for catalog and customer attributes, then builds index tables for fast reads.

That means neither platform has a universal database-performance advantage. WooCommerce is usually easier to inspect when your team already knows WordPress, while Magento is more systematic for large, highly variable, multi-store catalogs—provided you understand EAV joins, indexers, and module-managed schema.

What tables does WooCommerce use?

WooCommerce divides data between the WordPress tables it inherits and tables it creates for commerce operations. The exact physical names depend on the WordPress table prefix; a site using the default wp_ prefix will have names such as wp_posts and wp_wc_orders, while another installation may use a different prefix.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The split is important when writing reports, integrations, or migration scripts. A product record is not a single row in a single WooCommerce table, and an order may be stored in either the legacy posts/meta model or HPOS tables depending on the store’s configuration.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

WordPress tables reused by WooCommerce

  • wp_posts and wp_postmeta hold products and product metadata. In legacy order mode they also hold orders and order metadata.
  • wp_terms, wp_termmeta, wp_term_taxonomy, and wp_term_relationships represent product categories, tags, attributes, shipping classes, and tax classes.
  • wp_options stores WooCommerce and WordPress settings.
  • wp_users and wp_usermeta store customer identities and metadata such as address information.
  • WordPress comment tables store product reviews.

Because metadata is extensible, two stores with the same plugin set can have different keys and rows in wp_postmeta or wp_usermeta. Treat those tables as an open-ended key/value layer rather than assuming every installation has an identical set of fields.

WooCommerce-owned tables

WooCommerce also installs dedicated tables for order reporting, lookups, sessions, stock, shipping, taxes, logs, webhooks, API keys, and payment tokens. Common table suffixes include:

Area WooCommerce table suffixes What they support
Orders and analytics wc_orders, wc_orders_meta, wc_order_addresses, wc_order_operational_data, wc_order_stats, wc_order_product_lookup, wc_order_tax_lookup, wc_order_coupon_lookup Order records, addresses, operational fields, reporting aggregates, and product, tax, and coupon lookups
Products and customers wc_product_meta_lookup, wc_product_attributes_lookup, wc_customer_lookup Read-optimized product and customer values used by catalog and reporting features
Sessions woocommerce_sessions Cart and customer session data
Operations Shipping, tax, logging, webhook, API-key, reserved-stock, and payment-token tables Operational state maintained by the corresponding WooCommerce subsystems

The table names above are logical suffixes. Add the site’s WordPress prefix when addressing a physical table. Extensions can add additional tables, so a complete inventory should be taken from the live database rather than copied from another store.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Where are WooCommerce products, categories, customers, and reviews stored?

WooCommerce models a product as a combination of a WordPress post, metadata, taxonomy relationships, and lookup rows. Understanding each layer prevents incomplete exports and reports.

Products and variations

The product and variation entities begin in wp_posts, with details and extension-specific values in wp_postmeta. Product categories, tags, attributes, shipping classes, and tax classes are taxonomy data spread across the four wp_term* tables. WooCommerce lookup tables such as wc_product_meta_lookup and wc_product_attributes_lookup provide flatter, query-friendly representations for common catalog operations.

Customers and addresses

Customer accounts use wp_users for identity and wp_usermeta for metadata, including address fields. WooCommerce’s wc_customer_lookup table supports customer-oriented queries. Guest orders may have order-level customer information without a corresponding registered user, so an integration should not assume every purchaser has a row in wp_users.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Reviews

Product reviews use WordPress comment tables. A review report therefore needs to relate comments to products and account for the metadata and moderation state stored by WordPress, rather than looking only in WooCommerce’s order tables.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Settings

Store and extension settings are kept in wp_options. Option names and serialized values can vary by WooCommerce version and installed extensions, so use WooCommerce settings APIs for application changes instead of editing serialized option values directly.

Where are WooCommerce orders stored?

Order location depends on whether the store uses the legacy posts/meta data store or High-Performance Order Storage. The two models can coexist during a migration, but only one is authoritative at a time.

Order mode Authoritative data Other representation Key risk for integrations
Legacy order storage wp_posts and wp_postmeta WooCommerce lookup and analytics tables Order fields are distributed across metadata keys, making joins and custom reports irregular
HPOS authoritative _wc_orders, _wc_order_addresses, _wc_order_operational_data, and _wc_orders_meta (with the site’s prefix) wp_posts/wp_postmeta are synchronized compatibility copies Reading posts directly can return stale or non-authoritative values if synchronization is incomplete
Transition or compatibility mode Determined by the store’s configured authoritative data store The other store is synchronized according to the migration state An SQL integration that assumes one model can miss new or updated orders

WooCommerce documentation says HPOS became officially stable in WooCommerce 8.2, released in October 2023, and is enabled by default for new installations. That default does not mean every existing store uses HPOS; older stores can remain on legacy storage or be in a controlled transition.

What is WooCommerce HPOS, and how should I work with it?

High-Performance Order Storage (HPOS), formerly called Custom Order Tables, gives orders a purpose-built relational structure instead of relying primarily on WordPress posts and metadata. Its goal is an easier-to-understand order schema designed for ecommerce workloads.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How HPOS changes the physical model

When HPOS is authoritative, core order data is written to the dedicated order tables, addresses are separated into an address table, operational fields have their own table, and extensible order metadata remains in the order-meta table. WordPress posts and postmeta can remain synchronized backups for compatibility with code that still expects the legacy representation.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

How to identify the active data store

  1. Open the WooCommerce settings area that controls order data storage and note whether HPOS or WordPress posts are authoritative.
  2. Check the store’s HPOS migration and synchronization status before querying both representations.
  3. Inspect the installed schema using the site’s actual WordPress prefix; do not assume that a table with an expected suffix exists or is current.
  4. For application integrations, use WooCommerce CRUD and data-store APIs where possible. They resolve the active storage model and reduce the chance of writing to a compatibility copy.
  5. If direct SQL is unavoidable, document the authority decision, the synchronization state, and the WooCommerce version alongside the query.

What happens during migration?

Existing stores can have posts/meta as the authoritative source while HPOS tables are being populated, or the reverse after the switch. A migration plan should include a read-only verification period, a comparison of order counts and totals in both stores, and a rollback plan that does not write conflicting values to both systems. Schedule the cutover when order volume is low and pause custom jobs that bypass WooCommerce’s data layer until synchronization is confirmed.

How does Magento’s EAV database model work?

Magento uses resource models for CRUD operations and EAV models when an object has many or variable attributes. Adobe’s persistence documentation identifies the Customer, Catalog, and Order resource models as using EAV attributes. Instead of putting every possible product field in one wide table, Magento stores entity identity, attribute definitions, and typed values separately, then joins them by entity, attribute, and store identifiers.

The pieces of an EAV record

  • Entity table: identifies the product or other business object.
  • Attribute metadata: defines an attribute and its type, scope, and configuration in the EAV attribute tables.
  • Typed value tables: hold values in separate tables for data types such as datetime, decimal, integer, text, and varchar.
  • Store scope: a store_id lets a value vary by website or store view.

For example, Adobe’s declarative-schema documentation shows catalog_product_entity_datetime with columns including value_id, attribute_id, store_id, entity_id, and value. Foreign keys connect the value row to eav_attribute, catalog_product_entity, and store. A product’s date value therefore requires more than a single-table lookup.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which attributes are commonly represented through EAV?

Magento’s catalog attribute system includes values such as name, price, sku, status, store_id, tier_price, type_id, visibility, and weight. Custom attributes use the same framework. Extension attributes can instead join data from separate extension tables, so not every field visible in the application is necessarily an EAV value.

Why EAV queries require more planning

A report that looks simple in a flat schema may need to resolve an attribute code to an attribute ID, select the correct typed value table, filter by store scope, and join the entity row. Missing a store-specific override can produce the default value or an apparently blank result. Queries should also account for products whose optional attributes have no row at all.

Why does Magento maintain index tables?

Magento indexers precompute read-oriented structures so storefront requests do not repeatedly execute every EAV join. Official documentation names index tables for price, EAV values, category-product relationships, and stock, including catalog_product_index_price, catalog_product_index_eav, catalog_product_index_eav_decimal, and catalog_category_product_index, plus stock index tables.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

During reindexing, Magento can create replica tables and switch which table is read. This reduces the time a storefront sees a partially rebuilt index, but it means database administrators may encounter similarly named active and replica structures. A data extract that reads an index table should record when it was refreshed and whether the indexer was complete.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What is the difference between WooCommerce and Magento database structures?

WooCommerce favors WordPress familiarity plus targeted commerce tables. Magento formalizes variable attributes and multi-store scope through EAV and relies on indexers to make that flexible model practical at read time.

Comparison area WooCommerce Magento
Core model WordPress tables plus WooCommerce-owned relational tables Modular resource models with EAV for catalog and customer attributes
Product attributes Posts, post metadata, taxonomy tables, and lookup tables; extensions may add tables Attribute metadata and typed value tables joined to entities and store IDs
Orders Legacy posts/meta or HPOS dedicated order tables, depending on configuration Sales data managed through Magento’s resource-model and module architecture
Read optimization Product and order lookup tables, analytics tables, and HPOS indexes Price, EAV, category-product, and stock indexers, with replica tables during some reindex operations
Query learning curve WordPress tables are familiar, but metadata joins and extension variation can be irregular EAV joins, store scope, index state, and module-owned schema require specialist knowledge
Schema evolution WordPress and plugin updates can add metadata or custom tables Magento 2.3 introduced declarative XML schemas that describe the desired final database state so changes can be calculated rather than replaying every intermediate upgrade script
Migration concerns Detect HPOS authority and synchronization before moving orders Map EAV attribute IDs and store scope, preserve module-declared schema, and rebuild required indexers

Which database is easier to query: WooCommerce or Magento?

WooCommerce is generally easier for a team already comfortable with WordPress because the base entities and taxonomies use well-known tables. It becomes less predictable when important values are stored as arbitrary metadata or when extensions introduce their own tables.

Magento can be more consistent for a complex catalog because attributes, scope, and extension behavior follow formal patterns. Basic SQL is harder, however: a correct query may need EAV metadata resolution, typed value joins, store fallback logic, and awareness of whether an index is current. Ease depends more on the query and the team’s experience than on a universal platform ranking.

For a product export

  • In WooCommerce, identify product posts, variation posts, taxonomy relationships, metadata, and lookup rows required by the export.
  • In Magento, identify the entity type, attribute IDs, typed value tables, store scope, and any indexed values used by the storefront.
  • Validate a sample of products with missing, default-scope, and store-specific attributes before running a full export.

For an order report

  • In WooCommerce, determine whether HPOS or posts/meta is authoritative and include the relevant address, operational, lookup, and analytics tables.
  • In Magento, use the resource-model data contract or documented sales tables rather than assuming catalog EAV rules apply identically to every order field.
  • Compare totals against application-level reports after extraction; a database query that ignores refunds, coupons, taxes, or guest identities can look plausible while being incomplete.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How should I choose between WooCommerce and Magento for a new store?

Choose based on catalog behavior, operational capability, and existing investment—not on an assumed benchmark advantage. The official architectural references describe mechanisms but do not provide a cross-platform performance statistic under identical conditions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WooCommerce is a practical fit when

  • Your team already operates WordPress and wants familiar administration and database conventions.
  • The catalog is moderate enough that metadata and taxonomy joins remain manageable.
  • You can standardize extensions and use WooCommerce CRUD APIs instead of depending on undocumented metadata keys.
  • You are prepared to identify HPOS status before building order integrations.

Magento is a practical fit when

  • The catalog has many variable attributes, multiple websites or store views, and extensive store-scoped values.
  • You need a formal module and indexer architecture and can support its operational requirements.
  • Your team can maintain EAV-aware reports, monitor index freshness, and manage declarative schema changes.
  • You have specialist knowledge for upgrades, reindexing, and extension compatibility.

What should not decide the choice

Do not choose one platform solely because someone says its database is inherently faster. A meaningful comparison must hold catalog size, extensions, traffic pattern, database engine, indexes, caching, and hardware constant. Without those controls, a timing from one store says little about another.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

What are the biggest migration and maintenance pitfalls?

Most failures come from treating a logical commerce object as if it lived in one obvious table. Build checks around authority, scope, and derived data.

WooCommerce pitfalls

  • Reading the wrong order store: an integration queries posts while HPOS is authoritative, or reads HPOS while posts remain authoritative during a transition.
  • Ignoring the prefix: hard-coded wp_ names fail on installations that use a custom prefix.
  • Assuming metadata keys are universal: extensions and versions can change which values exist and where they are written.
  • Copying only posts: a product or order migration that omits taxonomies, metadata, lookup rows, sessions, or customer records is incomplete.

Magento pitfalls

  • Skipping store scope: selecting a value without the correct store_id can return the wrong language, price, or override.
  • Joining the wrong value type: an attribute belongs in its typed table; a datetime value cannot be read from a varchar table.
  • Using stale indexes: index tables can lag behind source entities or be in the middle of a replica-table switch.
  • Ignoring module schema: Magento’s declarative schema and installed modules define tables and columns that a generic migration script may miss.

What is a safe workflow for database investigations?

Use the application data model first, then confirm the physical schema. This sequence avoids destructive assumptions and makes results reproducible.

  1. Record platform and version information, the WordPress table prefix or Magento deployment configuration, installed extensions, and the date of the inspection.
  2. Classify the task as catalog, customer, order, tax, shipping, stock, review, or reporting work.
  3. Map the logical object to its source tables and any lookup or index tables.
  4. For WooCommerce orders, confirm the authoritative store and synchronization status before reading or writing.
  5. For Magento attributes, resolve attribute metadata, typed value storage, and store scope before composing joins.
  6. Run read-only queries against a staging copy first. Compare row counts, totals, and a sample of edge cases such as guests, variants, missing attributes, and store overrides.
  7. Prefer platform CRUD, repository, or data-store APIs for writes. If SQL is required, keep it versioned, idempotent where possible, and accompanied by a rollback plan.
  8. After a migration or schema change, validate application reports and storefront behavior, then verify that WooCommerce lookup tables or Magento indexers are current.

What does the database architecture mean for performance?

The architecture determines where work happens, not a guaranteed response time. WooCommerce reduces repeated joins with product and order lookup tables and, when enabled, HPOS order tables. Magento shifts much of the read cost into indexers that materialize price, EAV, category, and stock views.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Those optimizations introduce maintenance work. WooCommerce integrations must respect HPOS authority and synchronization. Magento operations must monitor index freshness, replica-table switching, and the effects of module or attribute changes. In both systems, extension quality, indexes, caching, database configuration, and query design can outweigh the base platform’s model.

Frequently Asked Questions

Can I keep querying wp_posts after enabling HPOS?

You can encounter synchronized post rows for compatibility, but they are not necessarily the authoritative source once HPOS is active. Check the store’s configured data store and synchronization state for every integration, and use WooCommerce data-store APIs when the code must work across both modes.

Do WooCommerce custom product fields use the same schema as Magento attributes?

No. WooCommerce extensions commonly add metadata or their own tables, with no single mandatory attribute registry equivalent to Magento’s EAV metadata. Magento custom attributes follow the EAV framework unless an extension implements them as separate extension-table data.

Why can a Magento product query return different values for different storefronts?

Magento values can be scoped by website or store view through store_id. A query that ignores the requested scope or fallback order may return a default value instead of the localized or store-specific value shown to shoppers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What should I verify before exporting WooCommerce orders to another system?

Confirm whether the source store uses legacy posts/meta or HPOS, include addresses and operational fields, and account for guest customers and lookup tables. Reconcile exported totals with WooCommerce reports before switching the destination to live synchronization.

What happens if Magento indexes are not refreshed after catalog changes?

The source EAV rows may contain the new value while storefront reads still use an older indexed representation. Check indexer status and refresh the affected indexes before diagnosing the discrepancy as a data-loss problem.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.