Normalizing data is more efficient, and storing serialized data in a table field that you want to search / work with on DB level isn’t something for Non-Nosql RDBMS like MySQL/MariaDB. Searching those fields is inefficient, you can’t use indexes on it, can’t join on it, and it’s generally painful to develop imho. If you’ve stored that data in a PHP serialized blob, you’ll have to load every row in order to examine it, because the database can’t do that work for you (or write very ugly regexps, that may explode if anybody ever feels like adding other data to that field).
That said, unless you have larger amounts of data, you probably won’t “feel” the inefficiency in wall clock seconds on simple queries, and it might be easier to work with user meta fields, depending on how experienced your developers (or those that will be in charge of it after you deliver it) are with databases.
Related Posts:
- WordPress database scalability from the code perspective
- WordPress for a very large website
- WooCommerce with thousands of products – site is very slow – optimize db queries? [closed]
- How to solve slow WordPress site caused by attachment_metadata
- Database slowdown after update to 3.4.1
- Select Multiple meta_value from WP DB; Single Query
- Using GROUP CONCAT in my-sql query with wp_usermeta table
- Improve performance by removing unnecessary database queries
- How to prevent/delay MySQL connections when an object cache is used?
- Buddypress avatar image in database [closed]
- Mysql Queries per Visit – Crazy High
- Rename a table in MySQL
- How should I tackle –secure-file-priv in MySQL?
- Can’t connect to MySQL server on ‘127.0.0.1’ (10061) (2003)
- Can’t connect to MySQL server on ‘127.0.0.1’ (10061) (2003)
- Can’t connect to MySQL server on ‘127.0.0.1’ (10061) (2003)
- MySQL SELECT increment counter
- phpMyAdmin – Error > Incorrect format parameter?
- Failed to connect to mysql at 127.0.0.1:3306 with user root access denied for user ‘root’@’localhost'(using password:YES)
- Using wpdb to connect to a separate database
- MySQL Database User: Which Privileges are needed?
- Why is my database import losing text widget data?
- Will it break my site if I delete all transient records in wp_options table?
- Checking if Database Table exists
- WordPress (MyISAM) database is slow, should I switch to InnoDB?
- Please explain how WordPress works with MySQL character set and collation at a low level
- The MySQL alternatives: Do Percona Server and MariaDB work well with WordPress, and do they make WordPress go better?
- How to fetch Data in WordPress using MySQLi or $wpdb
- WordPress Database lost auto increment
- Connect to database using wordpress wp-config file
- wpdb->insert multiple record at once
- Reset Post IDs to less than 64bit integer
- How To Export/Import WordPress (MySQL) Database Properly Via Command-Line?
- Restoring WordPress posts from database only
- How to define composite keys with dbDelta()
- Is it possible to define two databases for one installation?
- Does WordPress use the InnoDB engine for MySQL by default?
- Slow wp_term_relationships query
- How to use “TRUNCATE TABLE” MySQL statement?
- Can I use MariaDB instead of MySQL in wordpress?
- Performance tips for a large user base [closed]
- Slow SQL_CALC_FOUND_ROWS Query
- WP_Options ID high
- Using Dynamic Data Pulled from a MySQL Table in a WordPress Page
- What are conventions about the schema of the $table_prefix
- Split WP install between 2 databases?
- WordPress database becoming huge. How to analyze and optimize it? fear of running out of memory
- Inserting Post Meta From SQL
- Improve or optimize a very slow query
- Migrating non-WordPress CMS to WordPress, lots of data to move — possible solutions?
- Why does dbDelta() not catch MysqlErrors?
- Efficiency on displaying random authors based on large database
- Is deleting orphaned wp_options entries safe?
- Is altering a default WordPress database table update safe?
- What’s the most efficient database method to add and query usermeta?
- Huge wp_options table
- “MySQL server has gone away” since update to 3.8
- Delete all post meta except featured image
- Custom DB_COLLATE (collation) value not working on fresh install?
- What causes the “max_user_connections” warning on WordPress frontend?
- what to do when your WordPress database is too large?
- Extend the wp_users table
- Change all http to https in mysql databse?
- WooCommerce – Query for ordered products
- Large database causes slow load
- Relationship between performance and database size
- Changing BIGINT to INT
- Error establishing a database connection – with Debug Data
- How to execute mulitple statement SQL queries using $wpdb->query?
- Delete duplicate rows from wordpress database where a column is duplicate in phpmyadmin
- Can I transfer a mysql database to another site?
- WordPress and automated MySQL backups to a different host
- Database with mixed collation (utf8mb4 & utf8_general_ci)
- Query WordPress database by registered date and role
- MySQL Syntax Error upon restoring database from backup [closed]
- Tons of Twitter rows in my database
- Help running a MySQL query to update all wp_#_options tables in a Multisite install
- How to insert data into MySQL database from the form created in WordPress site
- Set Display Name to first and last name (phpmyadmin SQL Query)
- Size article thumbnails and retrieve them directly from database
- WordPress site uses MyISAM, should I switch to InnoDB necessary?
- Is it safe to convert tables from MyISAM to InnoDB?
- Emojis getting converted to “?”
- wp_redirection_404 table has grown to 7GB
- Migrating database / content of non-CMS site to WordPress
- Does WordPress ever need multiple databases?
- update_user_meta() does not work
- Why are no posts showing despite my apparently correct DB restoration?
- Is it possible to store visitors IPs in wp_postmeta table?
- Delete all post meta except featured image Using SQL
- How do I properly update the WordPress database password?
- wpdb_prepare with multiple or condition
- One post carries 30 postmeta values, is this too much?
- Is it possible to split database tables using HyperDB?
- Adding new row to wp_post table
- WordPress Install and Database on separate hosting?
- What happens if I overwrite the current wp_options table with a backup from a week ago?
- WordPress mysql table double prefixes
- SQL Error wp_commentmeta – incorrect table definition
- WordPress database error – Error in SQL syntax – I can’t identify any error?