Generic TVP tradeoffs?Do I need a separate Id column for this “mapping” table?With MS SQL Server are the generated constraint names predictable?Create a table dynamically in SQL Serverdeteriorating stored procedure running timesUpdate all rows from a table with random foreign key from another tableSelect Into removes IDENTITY property from target tableWhy am I getting “Snapshot isolation transaction aborted due to update conflict”?What is a “Partial Matching Index”?Insert statement on one table blocking delete on another unrelated table on sql serverWindowed IDENTITY column definition?
Are stably rational surfaces all rational?
Why didn’t Eve recognize the little cockroach as a living organism?
What is the meaning of "You´ve never met a graph you didn´t like"
How can an organ that provides biological immortality be unable to regenerate?
Is xar preinstalled on macOS?
What do the positive and negative (+/-) transmit and receive pins mean on Ethernet cables?
Why is the intercept typed in as a 1 in stats packages (R, python)
Why didn't Voldemort know what Grindelwald looked like?
Why doesn't the fusion process of the sun speed up?
categorizing a variable turns it from insignificant to significant
How do researchers send unsolicited emails asking for feedback on their works?
Output visual diagram of picture
What should be the ideal length of sentences in a blog post for ease of reading?
Not hide and seek
How to test the sharpness of a knife?
Is this Pascal's Matrix?
Why is participating in the European Parliamentary elections used as a threat?
How to left align the cases in Latex?
The English Debate
Is it possible to deploy Apex code which uses Person Accounts to an org which doesn't have Person Accounts enabled?
If the Dominion rule using their Jem'Hadar troops, why is their life expectancy so low?
Should a narrator ever describe things based on a characters view instead of fact?
Determine voltage drop over 10G resistors with cheap multimeter
What are the consequences of changing the number of hours in a day?
Generic TVP tradeoffs?
Do I need a separate Id column for this “mapping” table?With MS SQL Server are the generated constraint names predictable?Create a table dynamically in SQL Serverdeteriorating stored procedure running timesUpdate all rows from a table with random foreign key from another tableSelect Into removes IDENTITY property from target tableWhy am I getting “Snapshot isolation transaction aborted due to update conflict”?What is a “Partial Matching Index”?Insert statement on one table blocking delete on another unrelated table on sql serverWindowed IDENTITY column definition?
Is there a best practice or strategy for table types used in TVPs? For instance, given the following:
CREATE TABLE dbo.Colors (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Shapes (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Materials (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Items (
Id int identity PRIMARY KEY,
Name nvarchar(100),
ColorId int FOREIGN KEY REFERENCES dbo.Colors (ID),
ShapeId int FOREIGN KEY REFERENCES dbo.Shapes (ID),
MaterialId int FOREIGN KEY REFERENCES dbo.Materials (ID),
);
If you implemented a stored procedure for searching items that needed to support selecting multiple colors, multiple shapes, and multiple materials via TVPs (think checkbox lists in the UI), would you create three separate table types, one for every TVP, or would you create a single type for using it across all three?
In other words, this:
CREATE TYPE dbo.ColorIds AS TABLE (Id int);
CREATE TYPE dbo.ShapeIds AS TABLE (Id int);
CREATE TYPE dbo.MaterialIds AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds ColorIds READONLY,
@ShapeIds ShapeIds READONLY,
@MaterialIds MaterialIds READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
Versus this:
CREATE TYPE dbo.Ids AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds Ids READONLY,
@ShapeIds Ids READONLY,
@MaterialIds Ids READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
The sample is deliberately contrived; the real use case consists of a lot more tables which although have different columns, all have a ID int
primary key. Because of this, I personally am much more inclined to do the latter. It's far less overhead, but I'm curious to know if there are any cons I should be aware of in doing this. This is of course for TVPs and TVPs only (I would never mix different entities in a real table, or any other structure of a more permanent nature.)
While at it, what is your naming convention for naming table types and TVPs?
sql-server table-valued-parameters
New contributor
add a comment |
Is there a best practice or strategy for table types used in TVPs? For instance, given the following:
CREATE TABLE dbo.Colors (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Shapes (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Materials (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Items (
Id int identity PRIMARY KEY,
Name nvarchar(100),
ColorId int FOREIGN KEY REFERENCES dbo.Colors (ID),
ShapeId int FOREIGN KEY REFERENCES dbo.Shapes (ID),
MaterialId int FOREIGN KEY REFERENCES dbo.Materials (ID),
);
If you implemented a stored procedure for searching items that needed to support selecting multiple colors, multiple shapes, and multiple materials via TVPs (think checkbox lists in the UI), would you create three separate table types, one for every TVP, or would you create a single type for using it across all three?
In other words, this:
CREATE TYPE dbo.ColorIds AS TABLE (Id int);
CREATE TYPE dbo.ShapeIds AS TABLE (Id int);
CREATE TYPE dbo.MaterialIds AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds ColorIds READONLY,
@ShapeIds ShapeIds READONLY,
@MaterialIds MaterialIds READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
Versus this:
CREATE TYPE dbo.Ids AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds Ids READONLY,
@ShapeIds Ids READONLY,
@MaterialIds Ids READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
The sample is deliberately contrived; the real use case consists of a lot more tables which although have different columns, all have a ID int
primary key. Because of this, I personally am much more inclined to do the latter. It's far less overhead, but I'm curious to know if there are any cons I should be aware of in doing this. This is of course for TVPs and TVPs only (I would never mix different entities in a real table, or any other structure of a more permanent nature.)
While at it, what is your naming convention for naming table types and TVPs?
sql-server table-valued-parameters
New contributor
add a comment |
Is there a best practice or strategy for table types used in TVPs? For instance, given the following:
CREATE TABLE dbo.Colors (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Shapes (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Materials (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Items (
Id int identity PRIMARY KEY,
Name nvarchar(100),
ColorId int FOREIGN KEY REFERENCES dbo.Colors (ID),
ShapeId int FOREIGN KEY REFERENCES dbo.Shapes (ID),
MaterialId int FOREIGN KEY REFERENCES dbo.Materials (ID),
);
If you implemented a stored procedure for searching items that needed to support selecting multiple colors, multiple shapes, and multiple materials via TVPs (think checkbox lists in the UI), would you create three separate table types, one for every TVP, or would you create a single type for using it across all three?
In other words, this:
CREATE TYPE dbo.ColorIds AS TABLE (Id int);
CREATE TYPE dbo.ShapeIds AS TABLE (Id int);
CREATE TYPE dbo.MaterialIds AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds ColorIds READONLY,
@ShapeIds ShapeIds READONLY,
@MaterialIds MaterialIds READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
Versus this:
CREATE TYPE dbo.Ids AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds Ids READONLY,
@ShapeIds Ids READONLY,
@MaterialIds Ids READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
The sample is deliberately contrived; the real use case consists of a lot more tables which although have different columns, all have a ID int
primary key. Because of this, I personally am much more inclined to do the latter. It's far less overhead, but I'm curious to know if there are any cons I should be aware of in doing this. This is of course for TVPs and TVPs only (I would never mix different entities in a real table, or any other structure of a more permanent nature.)
While at it, what is your naming convention for naming table types and TVPs?
sql-server table-valued-parameters
New contributor
Is there a best practice or strategy for table types used in TVPs? For instance, given the following:
CREATE TABLE dbo.Colors (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Shapes (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Materials (
Id int identity PRIMARY KEY,
Name nvarchar(100),
);
CREATE TABLE dbo.Items (
Id int identity PRIMARY KEY,
Name nvarchar(100),
ColorId int FOREIGN KEY REFERENCES dbo.Colors (ID),
ShapeId int FOREIGN KEY REFERENCES dbo.Shapes (ID),
MaterialId int FOREIGN KEY REFERENCES dbo.Materials (ID),
);
If you implemented a stored procedure for searching items that needed to support selecting multiple colors, multiple shapes, and multiple materials via TVPs (think checkbox lists in the UI), would you create three separate table types, one for every TVP, or would you create a single type for using it across all three?
In other words, this:
CREATE TYPE dbo.ColorIds AS TABLE (Id int);
CREATE TYPE dbo.ShapeIds AS TABLE (Id int);
CREATE TYPE dbo.MaterialIds AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds ColorIds READONLY,
@ShapeIds ShapeIds READONLY,
@MaterialIds MaterialIds READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
Versus this:
CREATE TYPE dbo.Ids AS TABLE (Id int);
GO
CREATE PROCEDURE dbo.SearchItems
@ColorIds Ids READONLY,
@ShapeIds Ids READONLY,
@MaterialIds Ids READONLY
AS
BEGIN
PRINT 'Do something here'
END
GO
The sample is deliberately contrived; the real use case consists of a lot more tables which although have different columns, all have a ID int
primary key. Because of this, I personally am much more inclined to do the latter. It's far less overhead, but I'm curious to know if there are any cons I should be aware of in doing this. This is of course for TVPs and TVPs only (I would never mix different entities in a real table, or any other structure of a more permanent nature.)
While at it, what is your naming convention for naming table types and TVPs?
sql-server table-valued-parameters
sql-server table-valued-parameters
New contributor
New contributor
edited yesterday
Daniel Liuzzi
New contributor
asked yesterday
Daniel LiuzziDaniel Liuzzi
1264
1264
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I personally use the latter, more generic version in my systems. I have two tables that I can think of off the top of my head: UniqueIntegerTable
and UniqueStringTable
- as you can imagine, they are defined as follows:
CREATE TYPE Utils.UniqueIntegerTable AS TABLE (
[Value] INT NOT NULL PRIMARY KEY
);
CREATE TYPE Utils.UniqueStringTable AS TABLE (
[Value] NVARCHAR(50) NOT NULL PRIMARY KEY
);
I prefer to have generic TVP's so that I don't clog up my schema's with multiple types that are basically the same. The performance is exactly the same as if you defined an explicit type as in your first example and it has the benefit that it creates less code for me to maintain.
I know one argument that I have previously heard for using explicit types that are bound to tables is that it is easier to understand their usage. I personally don't agree with this. There is nothing preventing me from defining a stored procedure using the wrong type (but has the correct shape for my needs). Instead, I can give the variable a good name to infer usage and the contents of the table:
CREATE PROCEDURE dbo.UpdateEmployees (
@employeeIds Utils.UniqueIntegerTable READONLY
)
BEGIN
SET NOCOUNT ON;
-- Use table as needed.
END
GO
In terms of naming conventions, I don't know of any official standard but the one I use is to append Table
to the end of the type name. I know that this is not really all that different from prefixing things with tbl
but I'm ok with it in this instance. As with all naming conventions, pick one that you feel is easy to work with it - but once you do, stick to it. Naming conventions are only useful if you are consistent.
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "182"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Daniel Liuzzi is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232372%2fgeneric-tvp-tradeoffs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I personally use the latter, more generic version in my systems. I have two tables that I can think of off the top of my head: UniqueIntegerTable
and UniqueStringTable
- as you can imagine, they are defined as follows:
CREATE TYPE Utils.UniqueIntegerTable AS TABLE (
[Value] INT NOT NULL PRIMARY KEY
);
CREATE TYPE Utils.UniqueStringTable AS TABLE (
[Value] NVARCHAR(50) NOT NULL PRIMARY KEY
);
I prefer to have generic TVP's so that I don't clog up my schema's with multiple types that are basically the same. The performance is exactly the same as if you defined an explicit type as in your first example and it has the benefit that it creates less code for me to maintain.
I know one argument that I have previously heard for using explicit types that are bound to tables is that it is easier to understand their usage. I personally don't agree with this. There is nothing preventing me from defining a stored procedure using the wrong type (but has the correct shape for my needs). Instead, I can give the variable a good name to infer usage and the contents of the table:
CREATE PROCEDURE dbo.UpdateEmployees (
@employeeIds Utils.UniqueIntegerTable READONLY
)
BEGIN
SET NOCOUNT ON;
-- Use table as needed.
END
GO
In terms of naming conventions, I don't know of any official standard but the one I use is to append Table
to the end of the type name. I know that this is not really all that different from prefixing things with tbl
but I'm ok with it in this instance. As with all naming conventions, pick one that you feel is easy to work with it - but once you do, stick to it. Naming conventions are only useful if you are consistent.
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
add a comment |
I personally use the latter, more generic version in my systems. I have two tables that I can think of off the top of my head: UniqueIntegerTable
and UniqueStringTable
- as you can imagine, they are defined as follows:
CREATE TYPE Utils.UniqueIntegerTable AS TABLE (
[Value] INT NOT NULL PRIMARY KEY
);
CREATE TYPE Utils.UniqueStringTable AS TABLE (
[Value] NVARCHAR(50) NOT NULL PRIMARY KEY
);
I prefer to have generic TVP's so that I don't clog up my schema's with multiple types that are basically the same. The performance is exactly the same as if you defined an explicit type as in your first example and it has the benefit that it creates less code for me to maintain.
I know one argument that I have previously heard for using explicit types that are bound to tables is that it is easier to understand their usage. I personally don't agree with this. There is nothing preventing me from defining a stored procedure using the wrong type (but has the correct shape for my needs). Instead, I can give the variable a good name to infer usage and the contents of the table:
CREATE PROCEDURE dbo.UpdateEmployees (
@employeeIds Utils.UniqueIntegerTable READONLY
)
BEGIN
SET NOCOUNT ON;
-- Use table as needed.
END
GO
In terms of naming conventions, I don't know of any official standard but the one I use is to append Table
to the end of the type name. I know that this is not really all that different from prefixing things with tbl
but I'm ok with it in this instance. As with all naming conventions, pick one that you feel is easy to work with it - but once you do, stick to it. Naming conventions are only useful if you are consistent.
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
add a comment |
I personally use the latter, more generic version in my systems. I have two tables that I can think of off the top of my head: UniqueIntegerTable
and UniqueStringTable
- as you can imagine, they are defined as follows:
CREATE TYPE Utils.UniqueIntegerTable AS TABLE (
[Value] INT NOT NULL PRIMARY KEY
);
CREATE TYPE Utils.UniqueStringTable AS TABLE (
[Value] NVARCHAR(50) NOT NULL PRIMARY KEY
);
I prefer to have generic TVP's so that I don't clog up my schema's with multiple types that are basically the same. The performance is exactly the same as if you defined an explicit type as in your first example and it has the benefit that it creates less code for me to maintain.
I know one argument that I have previously heard for using explicit types that are bound to tables is that it is easier to understand their usage. I personally don't agree with this. There is nothing preventing me from defining a stored procedure using the wrong type (but has the correct shape for my needs). Instead, I can give the variable a good name to infer usage and the contents of the table:
CREATE PROCEDURE dbo.UpdateEmployees (
@employeeIds Utils.UniqueIntegerTable READONLY
)
BEGIN
SET NOCOUNT ON;
-- Use table as needed.
END
GO
In terms of naming conventions, I don't know of any official standard but the one I use is to append Table
to the end of the type name. I know that this is not really all that different from prefixing things with tbl
but I'm ok with it in this instance. As with all naming conventions, pick one that you feel is easy to work with it - but once you do, stick to it. Naming conventions are only useful if you are consistent.
I personally use the latter, more generic version in my systems. I have two tables that I can think of off the top of my head: UniqueIntegerTable
and UniqueStringTable
- as you can imagine, they are defined as follows:
CREATE TYPE Utils.UniqueIntegerTable AS TABLE (
[Value] INT NOT NULL PRIMARY KEY
);
CREATE TYPE Utils.UniqueStringTable AS TABLE (
[Value] NVARCHAR(50) NOT NULL PRIMARY KEY
);
I prefer to have generic TVP's so that I don't clog up my schema's with multiple types that are basically the same. The performance is exactly the same as if you defined an explicit type as in your first example and it has the benefit that it creates less code for me to maintain.
I know one argument that I have previously heard for using explicit types that are bound to tables is that it is easier to understand their usage. I personally don't agree with this. There is nothing preventing me from defining a stored procedure using the wrong type (but has the correct shape for my needs). Instead, I can give the variable a good name to infer usage and the contents of the table:
CREATE PROCEDURE dbo.UpdateEmployees (
@employeeIds Utils.UniqueIntegerTable READONLY
)
BEGIN
SET NOCOUNT ON;
-- Use table as needed.
END
GO
In terms of naming conventions, I don't know of any official standard but the one I use is to append Table
to the end of the type name. I know that this is not really all that different from prefixing things with tbl
but I'm ok with it in this instance. As with all naming conventions, pick one that you feel is easy to work with it - but once you do, stick to it. Naming conventions are only useful if you are consistent.
edited yesterday
answered yesterday
Mr.BrownstoneMr.Brownstone
9,64232342
9,64232342
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
add a comment |
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
2
2
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Totally agree with the nothing stopping you from using the wrong type part. In fact, right before posting the question I was checking if there is anything like FK constraints for table types. Didn't find anything. If there was one argument to push me over to favoring specific types, that would have been it. I'm sort of glad it wasn't the case!
– Daniel Liuzzi
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
Yeah, you definitely can't define a foreign key to a table type. I think if it was anything more than a glorified temp table and had a lot more functionality, then I would use explicit types. But as it stands, less maintenance means I can spend more time doing things that are important, rather than worrying about whether I have passed the right type to a stored procedure. ;-)
– Mr.Brownstone
yesterday
add a comment |
Daniel Liuzzi is a new contributor. Be nice, and check out our Code of Conduct.
Daniel Liuzzi is a new contributor. Be nice, and check out our Code of Conduct.
Daniel Liuzzi is a new contributor. Be nice, and check out our Code of Conduct.
Daniel Liuzzi is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Database Administrators Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232372%2fgeneric-tvp-tradeoffs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown