Indexing is a fundamental part of Magento and will not effect your site in a negative way.
Magento uses a complex EAV (entity-attribute-value) database structure that can sometimes require heavy database queries to retrieve simple results. Because of this, the Magento developers have implemeted Index tables that query all of this data, and store it into a single table structure. This allows Magento to quickly query the single Index table, rather than making complex joins across multiple tables.
With that being said, Reindexing does not alter your existing data. It simply queries your existing data and copies it to it's own tables.
To reindex your site, you can simple go to System > Index Management, check off all the indexes that you wish to reindex, then submit.
If you have a large set of products, I recommend reindexing your site from the shell command line.
- Login to your site using an SSH program (such as Putty)
- Once logged in,
cd
to your magento/shell/
(where magento is your Magento root directory)
- Run the following command to reindex your site:
php indexer.php reindexall
- Wait for the index processes to complete.
Lastly, ensure that your Catalog is using the Flat index tables. To do this:
- Go to System > Configuration > Catalog > Frontend (section)
- Set Use Flat Catalog Category to
Yes
- Set Use Flat Catalog Product to
Yes
- Click Save Config