-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Store UUIDs as Binary(16) #64
Comments
The one shortcoming of this method is we may not be able to do var sql = 'INSERT INTO table SET ?;'; Is there any way to make this a trigger on UUID tables? That way none of the server side code has to change? |
This proposal is crucial to having manageable database sizes. Before this can be properly considered, we will need a prototype that attempts to demonstrate INSERT syntax on a table that uses UUIDs, to understand how that will change out current API creation process. If it is as simple as a TRIGGER, I say we go for it as soon as possible and update our APIs to use BINARY(16). If it more complex than that, we will have to have a discussion of the pros/cons in more depth. |
Closing this as #152 has been merged. |
3780: Update del to the latest version 🚀 r=jniles a=greenkeeper[bot] ## The devDependency [del](https://github.com/sindresorhus/del) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- <details> <summary>Release Notes for v5.0.0</summary> <p>This release changes the underlying globbing engine, so you are strongly recommended to use the <code>dryRun</code> option to ensure <code>del</code> still does what you expect before you run it on the real files.</p> <p>Breaking:</p> <ul> <li>Require Node.js 8 <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/sindresorhus/del/commit/42e67a89f8ba5a25fc73cab0075e8181ee7fc069/hovercard" href="https://urls.greenkeeper.io/sindresorhus/del/commit/42e67a89f8ba5a25fc73cab0075e8181ee7fc069"><tt>42e67a8</tt></a></li> <li>Update globby from version 6 to version 10 (<a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="278835457" data-permission-text="Issue title is private" data-url="sindresorhus/del#64" data-hovercard-type="pull_request" data-hovercard-url="/sindresorhus/del/pull/64/hovercard" href="https://urls.greenkeeper.io/sindresorhus/del/pull/64">#64</a>) <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/sindresorhus/del/commit/6f96d2d4d311a30c5bcc94485f340695e6d24023/hovercard" href="https://urls.greenkeeper.io/sindresorhus/del/commit/6f96d2d4d311a30c5bcc94485f340695e6d24023"><tt>6f96d2d</tt></a><br> <strong>Important:</strong> If you used any of the <code>globby</code> options, please note that <code>globby</code> switched from using the <code>glob</code> package to <code>fast-glob</code>, so almost all the option names changed. <a href="https://urls.greenkeeper.io/mrmlnc/fast-glob#compatible-with-node-glob">Here's how to migrate the options.</a></li> </ul> <p><a class="commit-link" href="https://urls.greenkeeper.io/sindresorhus/del/compare/v4.1.1...v5.0.0"><tt>v4.1.1...v5.0.0</tt></a></p> </details> <details> <summary>Commits</summary> <p>The new version differs by 6 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/c07118089d4e6a4f7df689be888b90b989183d0c"><code>c071180</code></a> <code>5.0.0</code></li> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/a73462cb190415e0cda226df1d68c8c73325da05"><code>a73462c</code></a> <code>Meta tweaks</code></li> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/6f96d2d4d311a30c5bcc94485f340695e6d24023"><code>6f96d2d</code></a> <code>Update globby to version 10 (#64)</code></li> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/6e23f6ade68dcf5d9fc6be704fdc1deb8f95bf33"><code>6e23f6a</code></a> <code>Tidelift tasks</code></li> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/42e67a89f8ba5a25fc73cab0075e8181ee7fc069"><code>42e67a8</code></a> <code>Require Node.js 8</code></li> <li><a href="https://urls.greenkeeper.io/sindresorhus/del/commit/535d7755466694c97899b6e5334f60ae1816a4eb"><code>535d775</code></a> <code>Enable the repo sponsor button</code></li> </ul> <p>See the <a href="https://urls.greenkeeper.io/sindresorhus/del/compare/31be0e74e352ac7aae71b330a704756851736880...c07118089d4e6a4f7df689be888b90b989183d0c">full diff</a></p> </details> <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
3813: Update cz-conventional-changelog to the latest version 🚀 r=jniles a=greenkeeper[bot] ## The devDependency [cz-conventional-changelog](https://github.com/commitizen/cz-conventional-changelog) was updated from `2.1.0` to `3.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [commitizen-bot](https://www.npmjs.com/~commitizen-bot) **License:** MIT <details> <summary>Release Notes for v3.0.0</summary> <h1><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/v2.1.0...v3.0.0">3.0.0</a> (2019-07-19)</h1> <h3>Bug Fixes</h3> <ul> <li>remove pre-node 10 support (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/86" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/86/hovercard">#86</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588ad">76588ad</a>)</li> </ul> <h3>Features</h3> <ul> <li>add default values to options (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/69" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/69/hovercard">#69</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f">65d6a9f</a>)</li> <li>implement configuration through package.json (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/75" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/75/hovercard">#75</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02">3398c02</a>)</li> </ul> <h3>BREAKING CHANGES</h3> <ul> <li>Node 10 is LTS so please upgrade to it.</li> </ul> </details> <details> <summary>Commits</summary> <p>The new version differs by 7 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588adc6eb0c09f684dd9f7359c12492ee69d81"><code>76588ad</code></a> <code>fix: remove pre-node 10 support (#86)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/6ed57bdd7c7220c947ddbafff4f74fa6e5597a80"><code>6ed57bd</code></a> <code>ci(publish): fixed the npm command to run semantic-release (#81)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02207b42133691dac8be21257ee28a0ac4c"><code>3398c02</code></a> <code>feat: implement configuration through package.json (#75)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f935318398ea120da406d76b78498ca632"><code>65d6a9f</code></a> <code>feat: add default values to options (#69)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/f2ca75525f5788342ccdf6efd9391f742f0509b7"><code>f2ca755</code></a> <code>chore(license): adds missing MIT license file (#67)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/d4bf98e59b0d24e18876945546181ada5e2f7448"><code>d4bf98e</code></a> <code>Merge pull request #64 from jacobq/patch-1</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/ff370a323c571a7080d2f9073c0fae2111a1760e"><code>ff370a3</code></a> <code>doc(README): Update link (again)</code></li> </ul> <p>See the <a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/d40ac2c5a0021a2c6faa7b8471a3003213a2c7ef...76588adc6eb0c09f684dd9f7359c12492ee69d81">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
3813: Update cz-conventional-changelog to the latest version 🚀 r=jniles a=greenkeeper[bot] ## The devDependency [cz-conventional-changelog](https://github.com/commitizen/cz-conventional-changelog) was updated from `2.1.0` to `3.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [commitizen-bot](https://www.npmjs.com/~commitizen-bot) **License:** MIT <details> <summary>Release Notes for v3.0.0</summary> <h1><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/v2.1.0...v3.0.0">3.0.0</a> (2019-07-19)</h1> <h3>Bug Fixes</h3> <ul> <li>remove pre-node 10 support (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/86" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/86/hovercard">#86</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588ad">76588ad</a>)</li> </ul> <h3>Features</h3> <ul> <li>add default values to options (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/69" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/69/hovercard">#69</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f">65d6a9f</a>)</li> <li>implement configuration through package.json (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/75" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/75/hovercard">#75</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02">3398c02</a>)</li> </ul> <h3>BREAKING CHANGES</h3> <ul> <li>Node 10 is LTS so please upgrade to it.</li> </ul> </details> <details> <summary>Commits</summary> <p>The new version differs by 7 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588adc6eb0c09f684dd9f7359c12492ee69d81"><code>76588ad</code></a> <code>fix: remove pre-node 10 support (#86)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/6ed57bdd7c7220c947ddbafff4f74fa6e5597a80"><code>6ed57bd</code></a> <code>ci(publish): fixed the npm command to run semantic-release (#81)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02207b42133691dac8be21257ee28a0ac4c"><code>3398c02</code></a> <code>feat: implement configuration through package.json (#75)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f935318398ea120da406d76b78498ca632"><code>65d6a9f</code></a> <code>feat: add default values to options (#69)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/f2ca75525f5788342ccdf6efd9391f742f0509b7"><code>f2ca755</code></a> <code>chore(license): adds missing MIT license file (#67)</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/d4bf98e59b0d24e18876945546181ada5e2f7448"><code>d4bf98e</code></a> <code>Merge pull request #64 from jacobq/patch-1</code></li> <li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/ff370a323c571a7080d2f9073c0fae2111a1760e"><code>ff370a3</code></a> <code>doc(README): Update link (again)</code></li> </ul> <p>See the <a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/d40ac2c5a0021a2c6faa7b8471a3003213a2c7ef...76588adc6eb0c09f684dd9f7359c12492ee69d81">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
For a while we have known that storing UUIDs as a 36 character (VARCHAR(36)) string is non optimal, both for the storage space it requires and for how long it takes to read/join tables on long strings.
Proposal:
There are a number of research articles that seem to show storing UUIDs in this format reduces both space required and most importantly access/ join speed.
The change would mostly affect how UUIDs are written and read from the database and should not change very much application logic.
@IMA-WorldHealth/local-contributors This can be discussed and prioritised accordingly.
The text was updated successfully, but these errors were encountered: