Terms are grouping mechanism. Query logic for them is mostly limited to matching or not matching, which makes you use huge arrays of many possible values in your case.
While year is passably a group (might or might not make sense) the price is most definitely not. Would you shop in store where items are organized in isle by price? Isle with all $1 items, isle with all $2 items, and so on?
Discreet individual values are firmly realm of post meta. Meta also allows much more flexible queries, such as BETWEEN
for your use case.
I am not sure why do you consider it “not well optimized”, but it would certainly be better place to start for range queries than terms.
Related Posts:
- When/why does ‘$query->get( ‘tax_query’ );’ return empty?
- Query set using tax_query with relation ‘OR’ modifies category object?
- Modify users.php query with multiple taxonomies
- List only parent attributes on woocommerce admin atrributes page
- Why pagination is not working with tax_query param?
- Order WordPress Query by Custom Field While Still Using Tax_query Argument
- Multiple terms not working on taxonomy
- Find all posts via SQL beginning with A of type B
- How to display SQL query that ran in query?
- How can I create a meta_query with an array as meta_field?
- Query multiple meta key values?
- How to Optimize WP site for millions of posts
- How to get comments by post ID?
- Differences between wpdb->get_results() and wpdb->query()
- Is there a way of increasing the speed of this query?
- Custom Taxonomy and Tax_Query
- Get all image from single page using this query
- How can I query all users who registered today?
- Get Terms by IDs with IDs order
- Reversing the order of posts AFTER the query is performed
- what are the numbers between curly brackets in search query
- simple sql query on wp_postmeta very slow
- Using WordPress public query variables
- How to Use Wildcards in $wpdb Queries Using $wpdb->get_results & $wpdb->prepare?
- How to get link and title of next and previous post on single page
- Create pagination and order according to alphabet
- wpdb get posts by taxonomy SQL
- How to List Events by Year and Month Using Advanced Custom Fields?
- Is there any difference between hooks posts_where with posts_join and posts_search performance wise?
- wordpress query – orderby child post date
- How many WordPress SQL Queries per page?
- How to display Section for certain time
- Add multiple value to a query variable in WordPress
- Search custom post type by meta data
- Custom query_var causes displaying posts archive on front page
- Slow wp_enqueue_media()
- Multipart/formatted MySQL query problem
- What is the most efficient way of implementing a favorite post system?
- Remove [gallery] shortcode altogether
- Compare two numeric custom fields
- wp_dropdown_categories with multiple select
- Advanced Custom Fields – Query Efficiency
- Why does get_the_time(‘F j’) return November 30 for all posts?
- Query by one meta_key and sort by another (possibly NULL value)
- How to tune search argument in WP_Query to show only exactly the same results?
- Custom query filter not working on woocommerce category page
- How to delete a transient on post/page publish?
- Very slow query
- query multiple taxonomy and show post count
- Search Terms – Querying on either description__like OR name__like in the same Term Query?
- Query & Sort Comments by custom comment meta
- How to create a WP_Query to search the Title or Tag?
- How to get my loop to pull posts into three columns
- How to display lastest post date in the homepage?
- Custom $wpdb Query for Custom Post Type by Category
- Get a user’s most recent post title
- Categories and products in random order
- add_query_arg() XSS Vulnerability
- Count user posts by user ID, Post type and Post status
- Can’t pass table to $wpdb->prepare
- $query->query_var[‘post_type’] not set for pages
- is_archive() doesn’t work on public query var archive pages?
- How to extract all ID variables from a query string?
- When add_query_arg() is necessary?
- Different Main Navigation per category
- How to get category link without a database query
- Insert html after certain amount of posts?
- wp remove query
- Show recent products first but “sold out last” in query
- WordPress creating excessive joins on meta_query with search
- How to display liked posts of current user in wordpress?
- Filter query posts by the count of metas for a meta key
- How to tell if $query_var isset?
- Show All Posts Insert Edit Link
- How to Get All Taxonomies AND All Terms For Each Taxonomy With Post Count Zero
- $wpdb->get_var not returning a result
- search through post-type attachments titles
- How to count get_users query?
- Date query year and month OR just year
- cron job to auto delete posts of a specific post type older than x days
- Possible to get posts from multiple meta keys/values in a single query?
- Are database queries created using WordPress filters protected from SQL injection?
- Get IDs of posts currently visible on archive
- Get posts by category with pure SQL query
- can’t get query to order posts by acf datepicker
- tax_query shows no results if nothing is selected
- Sorting Grids with Essential Grid and Events Manger
- $args numberposts variable
- The use of including upgrade.php when building custom queries
- get post id using the $query_vars variable
- Most effective use of DB querys
- get complex results set according to category structure
- WP_Query tax_query on ACF post_object
- Difference between fragment caching and wp_cache
- Custom query to get terms from post ids
- Save default value for empty or missing post meta
- Remove Unnecessary Mysql Query
- Get the timout value of a saved transient?
- Help with wordpress custom query and advanced custom fields plugin
- Grouping related postmeta data via SQL query