Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 11-17-2015, 12:58 PM
Dave# Dave# is offline
 
Join Date: Nov 2001
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Portal style page for vb3.8

Can anyone recommend an alternative portal style homepage for VB 3.8 that is not vbadvanced?

vbadvanced adds indexes to the post table which kills performance of mysql
Reply With Quote
  #2  
Old 11-17-2015, 02:04 PM
squidsk's Avatar
squidsk squidsk is offline
 
Join Date: Nov 2010
Posts: 969
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think you have a misunderstanding of how things work. Indexes improve the performance of the database by speeding up searches of tables when the conditions of searches use columns that have been indexed. For example a query of the post table for all posts by a particular user (i.e. userid column) is much faster if the userid column is indexed than if it isn't. The cost of indexing a column (or groups of columns) is that it takes up space. The one thing that is not a cost is performance.
Reply With Quote
  #3  
Old 11-17-2015, 03:05 PM
Dave# Dave# is offline
 
Join Date: Nov 2001
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by squidsk View Post
I think you have a misunderstanding of how things work. Indexes improve the performance of the database by speeding up searches of tables when the conditions of searches use columns that have been indexed. For example a query of the post table for all posts by a particular user (i.e. userid column) is much faster if the userid column is indexed than if it isn't. The cost of indexing a column (or groups of columns) is that it takes up space. The one thing that is not a cost is performance.
I think you are the one who is mistaken.

MYSQL decides how to execute a query based on a few things, indexes is one and data size is another.

It is very possible to add an index and degrade performnce because the MYSQL query planner decides to use the wrong, more inefficent Index.

From memory, the index was on last_modified on the Post table. We have 13M posts and the MYSQL query planner did not like this at all.

Also bear in mind that every new index on the POST table means slower inserts as MYSQL needs to update extra indexes.
Reply With Quote
  #4  
Old 11-17-2015, 07:00 PM
squidsk's Avatar
squidsk squidsk is offline
 
Join Date: Nov 2010
Posts: 969
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dave# View Post
I think you are the one who is mistaken.

MYSQL decides how to execute a query based on a few things, indexes is one and data size is another.

It is very possible to add an index and degrade performnce because the MYSQL query planner decides to use the wrong, more inefficent Index.
In other words don't have multiple indexes on the same column. Yes this is the only way to screw up the database. Regardless the index used is based on the columns in the where clause and any using/on statements. For example if you have a table with columns A and B with indexes on A, B as well as an index on AxB. If only one of the two columns are in the where it will use the singular index, if both are in the where it will use the composite index.

Quote:
From memory, the index was on last_modified on the Post table. We have 13M posts and the MYSQL query planner did not like this at all.
Sorry but this makes no sense. There's no reality where searching through each and every one of your 13M posts is more efficient than using the index to only have to search a subset of those 13M posts.

Quote:
Also bear in mind that every new index on the POST table means slower inserts as MYSQL needs to update extra indexes.
Yes which is an insignificant slow down in general usage of a site. The site I run, with comparable post table size of ~15M posts has over 1 million hits a month, of those the vast majority are to showthread (i.e. querying the post table) of those only about ~34K are new posts. This means that a select query that is faster is far more important than an insert query that is slower. On top of that indices in mysql are typically stored in n-ary trees (also called B-trees if you read the mysql documentation), which means the additional time on an insert is logarithmic while the extra cost to a search in linear, which for data of any size is a significant difference.

If you really don't like the index, just drop it through your myphpadmin and it won't interfere with anything else and you can still use vbadvanced.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:09 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03794 seconds
  • Memory Usage 2,191KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete