Davor,
I think Auditing of course will cause the performance effect, if not then why it was not be enabled by default, but you might try to implement the best practice, such as using the partition table (must use SQL Enterprise edition, cannot use the standard one), then also delete the log entries.
So that CRM has the Log Management to handle it.
And also it will consume more space for data wise.
How good to enable audition on all fields?
I think it is recommended to turn on all the fields because basically CRM does this feature once you enable an entity to auditing. But, if you have any plugin or even an update from other system 'programmatically and virtually', I mean even though the field is same value, it will be detected as 'updated;, for example you have a logic that insist to change a field from 'ABC' to also 'ABC'
How much data can expect?
Hm...I think it will always keep the history, any field you enable it. As well for any entity. But some of the entities that are hidden in the CRM UI, you cannot make it enable for auditing. Then as long as you keep the logs then it should be there. Auditing can only be enabled for those entities that are enable for auditing and also their fields.
Can be slow?
It seems like we add more functionality over your standard CRM to add more task for creating more transaction records, so the CRM would be more active, without auditing, CRM will stop the process after the main transaction is finished, but adding the auditing, CRM also needs some times to write it to the CRM Database, it does consume space as well, because you keep logging it.
Same as well you are in the meeting, then you keep tracking the conversation, you need to finish the meeting, but you need to also write the minutes of meeting and notes of logging thing, so of course you need more extra job, extra time and extra transaction task on it. You have your main job, you also need extra job. But how far it will affect? It is standard enterprise system design to enable a OOB tracking history functionality, so I think CRM already try to optimize its performance. And if your job is handled by someone else, so meaning that wont affect the performance, and this is what happened as well to auditing.
See this link
community.dynamics.com/.../crm-2011-auditing-best-practices.aspx
1. Will auditing slow down my system?
Auditing will not slow down your CRM system. All auditing data is stored in a single audit table. This design keeps the audit logs completely separated from other CRM data.
www.crmsoftwareblog.com/.../advanced-auditing-functionality-in-microsoft-dynamics-crm-2011
crmbusiness.wordpress.com/.../crm-2011-great-article-on-auditing-best-practices
Try to keep it simple.
If you are concern about data and history then put aside first the performance threat, you can always improve it by providing better server spec and in fact CRM stored it in separated logs. And also you can learn how to implement the best practice, such as when data import, when from custom app, etc.
Hope this helps.
Thanks.