# cols t vs key flip value t

**URL:** <https://forum.kx.com/t/cols-t-vs-key-flip-value-t/12454>\
**Category:** Community Support\
**Tags:** kdb-and-q\
**Created:** [March 18, 2022, 6:24am UTC](https://forum.kx.com/t/cols-t-vs-key-flip-value-t/12454 "2022-03-18T06:24:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mannix1](https://avatars.discourse-cdn.com/v4/letter/m/a9a28c/32.png) [@Mannix1](https://forum.kx.com/u/Mannix1)\
**Post date:** [March 18, 2022, 6:24am UTC](https://forum.kx.com/t/cols-t-vs-key-flip-value-t/12454/1 "2022-03-18T06:24:00Z")

</div>

At least twice in tick.q

key flip value t is used to get the columns names of the table t.

Would cols t not do the same job?

If so, surely&nbsp;key flip value t has a greater memory overhead.

---

<div class="post-metadata">

**Author:** ![SJT1](https://avatars.discourse-cdn.com/v4/letter/s/eb8c5e/32.png) [@SJT1](https://forum.kx.com/u/SJT1)\
**Post date:** [March 18, 2022, 7:02am UTC](https://forum.kx.com/t/cols-t-vs-key-flip-value-t/12454/2 "2022-03-18T07:02:00Z")

</div>

Perhaps the author was trading memory for speed?

&nbsp;

q)t:flip(`$'.Q.a)!26 10000000#26000000?1000 q)(cols `t)~key flip value `t 1b q)\ts:10000 cols `t 12 528 q)\ts:10000 key flip value `t 2 880

One of the loveliest aspects of working in q is how easy it is to experiment like this!

&nbsp;
