# Disabled tag breaking Expression tag expression

**URL:** <https://forum.inductiveautomation.com/t/disabled-tag-breaking-expression-tag-expression/15092>\
**Category:** Ignition\
**Created:** [August 17, 2017, 6:15am UTC](https://forum.inductiveautomation.com/t/disabled-tag-breaking-expression-tag-expression/15092 "2017-08-17T06:15:04Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 17, 2017, 11:09pm UTC](https://forum.inductiveautomation.com/t/disabled-tag-breaking-expression-tag-expression/15092/7 "2017-08-17T23:09:26Z")

</div>

> [@JGJohnson](#):
>
> Our project was built before the SQL-Lite DB update and now internal DB access is killing our system, both in terms of performance and also making it unstable. What do you recommend in place of using system.tag.browseTags()? Is there any alternative that will perform better?

There's an advanced property on the realtime tag providers (in the gateway Config \> Tags \> Realtime) called "Memory Resident Tag Properties" since ~7.9.1. You could try enabling this. As you can imagine given the name, there's a tradeoff in that it uses more memory.

Other than that... reduce your dependency on `browseTags`. Call it less often, don't call it at high levels in the tag structure where it has to do a lot of recursion, cache results when applicable, hard code lists of tags instead of relying on tricky dynamic generation.

---

_[View the full topic](https://forum.inductiveautomation.com/t/disabled-tag-breaking-expression-tag-expression/15092)._
