Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
Добрый день!

имеется такая таблица:

CREATE TABLE [dbo].[_AccRgCT1960](
[_Period] [datetime] NOT NULL,
[_AccountDtRRef] [binary](16) NOT NULL,
[_AccountCtRRef] [binary](16) NOT NULL,
[_Fld1936RRef] [binary](16) NOT NULL,
[_Fld1937RRef] [binary](16) NOT NULL,
[_Fld1938RRef] [binary](16) NOT NULL,
[_Fld1939DtRRef] [binary](16) NULL,
[_Fld1939CtRRef] [binary](16) NULL,
[_Fld1940] [numeric](21, 2) NULL,
[_Fld1941Dt] [numeric](21, 2) NULL,
[_Fld1941Ct] [numeric](21, 2) NULL,
[_Fld1942Dt] [numeric](21, 3) NULL,
[_Fld1942Ct] [numeric](21, 3) NULL
) ON [PRIMARY]

на ней построен индекс:
CREATE UNIQUE NONCLUSTERED INDEX [_AccTtl1960_ByDt_TRRRRRRR] ON [dbo].[_AccRgCT1960]
(
[_Period] ASC,
[_AccountDtRRef] ASC,
[_AccountCtRRef] ASC,
[_Fld1936RRef] ASC,
[_Fld1937RRef] ASC,
[_Fld1938RRef] ASC,
[_Fld1939DtRRef] ASC,
[_Fld1939CtRRef] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
GO

как это возможно что
select
COUNT(*) as counts,
[_AccountDtRRef],
[_AccountCtRRef],
[_Fld1936RRef],
[_Fld1937RRef],
[_Fld1938RRef],
[_Fld1939DtRRef],
[_Fld1939CtRRef]
from [_AccRgCT1960]
group by
[_AccountDtRRef],
[_AccountCtRRef],
[_Fld1936RRef],
[_Fld1937RRef],
[_Fld1938RRef],
[_Fld1939DtRRef],
[_Fld1939CtRRef]
having count(*) > 1

возвращает повторяющиеся строки

(это обнаружилось при отключении индекса, затем его включении (перестроении) )
1 авг 12, 17:59    [12948255]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А ничего, что в индексе есть еще поле _Period?
1 авг 12, 18:00    [12948261]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
простите, отправил не ту конструкцию create index.

правильная такая:


CREATE NONCLUSTERED INDEX [_AccTtl1960_ByDt_TRRRRRRR] ON [dbo].[_AccRgCT1960]
(
[_AccountDtRRef] ASC,
[_AccountCtRRef] ASC,
[_Fld1936RRef] ASC,
[_Fld1937RRef] ASC,
[_Fld1938RRef] ASC,
[_Fld1939DtRRef] ASC,
[_Fld1939CtRRef] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
1 авг 12, 18:05    [12948306]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
aux3
простите, отправил не ту конструкцию create index.

правильная такая:


CREATE NONCLUSTERED INDEX [_AccTtl1960_ByDt_TRRRRRRR] ON [dbo].[_AccRgCT1960]
(
[_AccountDtRRef] ASC,
[_AccountCtRRef] ASC,
[_Fld1936RRef] ASC,
[_Fld1937RRef] ASC,
[_Fld1938RRef] ASC,
[_Fld1939DtRRef] ASC,
[_Fld1939CtRRef] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO


А здесь нет UNIQUE.
1 авг 12, 18:07    [12948322]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
План запроса с группировкой покажите.
1 авг 12, 18:08    [12948329]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
Nika1979 пропустил unique

Гавриленко Сергей Алексеевич,

в xml так:
<?xml version="1.0" encoding="utf-16"?>
<ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.1.1" Build="10.0.5500.0" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
<BatchSequence>
<Batch>
<Statements>
<StmtSimple StatementCompId="1" StatementEstRows="1" StatementId="1" StatementOptmLevel="FULL" StatementSubTreeCost="2.89028" StatementText="select
COUNT(*) as counts,
[_AccountDtRRef],
[_AccountCtRRef],
[_Fld1936RRef],
[_Fld1937RRef],
[_Fld1938RRef],
[_Fld1939DtRRef],
[_Fld1939CtRRef]
from [_AccRgCT1960]
group by
[_AccountDtRRef],
[_AccountCtRRef],
[_Fld1936RRef],
[_Fld1937RRef],
[_Fld1938RRef],
[_Fld1939DtRRef],
[_Fld1939CtRRef]
having count(*) > 1" StatementType="SELECT" QueryHash="0xC61FE86595A33A9C" QueryPlanHash="0x5E775CFBEFD10B43">
<StatementSetOptions ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" NUMERIC_ROUNDABORT="false" QUOTED_IDENTIFIER="true" />
<QueryPlan DegreeOfParallelism="1" MemoryGrant="6768" CachedPlanSize="32" CompileTime="2" CompileCPU="2" CompileMemory="272">
<RelOp AvgRowSize="123" EstimateCPU="0.0154411" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="1" LogicalOp="Filter" NodeId="0" Parallel="false" PhysicalOp="Filter" EstimatedTotalSubtreeCost="2.89028">
<OutputList>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
<ColumnReference Column="Expr1004" />
</OutputList>
<RunTimeInformation>
<RunTimeCountersPerThread Thread="0" ActualRows="1457" ActualEndOfScans="1" ActualExecutions="1" />
</RunTimeInformation>
<Filter StartupExpression="false">
<RelOp AvgRowSize="123" EstimateCPU="0.0353859" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Compute Scalar" NodeId="1" Parallel="false" PhysicalOp="Compute Scalar" EstimatedTotalSubtreeCost="2.87484">
<OutputList>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
<ColumnReference Column="Expr1004" />
</OutputList>
<ComputeScalar>
<DefinedValues>
<DefinedValue>
<ColumnReference Column="Expr1004" />
<ScalarOperator ScalarString="CONVERT_IMPLICIT(int,[Expr1007],0)">
<Convert DataType="int" Style="0" Implicit="true">
<ScalarOperator>
<Identifier>
<ColumnReference Column="Expr1007" />
</Identifier>
</ScalarOperator>
</Convert>
</ScalarOperator>
</DefinedValue>
</DefinedValues>
<RelOp AvgRowSize="123" EstimateCPU="0.0353859" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Aggregate" NodeId="2" Parallel="false" PhysicalOp="Stream Aggregate" EstimatedTotalSubtreeCost="2.87484">
<OutputList>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
<ColumnReference Column="Expr1007" />
</OutputList>
<RunTimeInformation>
<RunTimeCountersPerThread Thread="0" ActualRows="2134" ActualEndOfScans="1" ActualExecutions="1" />
</RunTimeInformation>
<StreamAggregate>
<DefinedValues>
<DefinedValue>
<ColumnReference Column="Expr1007" />
<ScalarOperator ScalarString="Count(*)">
<Aggregate AggType="countstar" Distinct="false" />
</ScalarOperator>
</DefinedValue>
</DefinedValues>
<GroupBy>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
</GroupBy>
<RelOp AvgRowSize="119" EstimateCPU="2.21101" EstimateIO="0.0112613" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Sort" NodeId="3" Parallel="false" PhysicalOp="Sort" EstimatedTotalSubtreeCost="2.83945">
<OutputList>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
</OutputList>
<MemoryFractions Input="1" Output="1" />
<RunTimeInformation>
<RunTimeCountersPerThread Thread="0" ActualRebinds="1" ActualRewinds="0" ActualRows="32170" ActualEndOfScans="1" ActualExecutions="1" />
</RunTimeInformation>
<Sort Distinct="false">
<OrderBy>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
</OrderByColumn>
<OrderByColumn Ascending="true">
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
</OrderByColumn>
</OrderBy>
<RelOp AvgRowSize="119" EstimateCPU="0.0355429" EstimateIO="0.581644" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Index Scan" NodeId="4" Parallel="false" PhysicalOp="Index Scan" EstimatedTotalSubtreeCost="0.617186" TableCardinality="32169">
<OutputList>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
</OutputList>
<RunTimeInformation>
<RunTimeCountersPerThread Thread="0" ActualRows="32170" ActualEndOfScans="1" ActualExecutions="1" />
</RunTimeInformation>
<IndexScan Ordered="false" ForcedIndex="false" ForceSeek="false" NoExpandHint="false">
<DefinedValues>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
</DefinedValue>
</DefinedValues>
<Object Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Index="[_AccTtl1960_ByDt_TRRRRRRR]" IndexKind="NonClustered" />
</IndexScan>
</RelOp>
</Sort>
</RelOp>
</StreamAggregate>
</RelOp>
</ComputeScalar>
</RelOp>
<Predicate>
<ScalarOperator ScalarString="[Expr1004]>(1)">
<Compare CompareOp="GT">
<ScalarOperator>
<Identifier>
<ColumnReference Column="Expr1004" />
</Identifier>
</ScalarOperator>
<ScalarOperator>
<Const ConstValue="(1)" />
</ScalarOperator>
</Compare>
</ScalarOperator>
</Predicate>
</Filter>
</RelOp>
</QueryPlan>
</StmtSimple>
</Statements>
</Batch>
</BatchSequence>
</ShowPlanXML>
1 авг 12, 21:24    [12949181]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
aux3
Nika1979 пропустил unique

Гавриленко Сергей Алексеевич,

в xml так:
+
<?xml version="1.0" encoding="utf-16"?>
<ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.1.1" Build="10.0.5500.0" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
  <BatchSequence>
    <Batch>
      <Statements>
        <StmtSimple StatementCompId="1" StatementEstRows="1" StatementId="1" StatementOptmLevel="FULL" StatementSubTreeCost="2.89028" StatementText="select
	COUNT(*) as counts,
    [_AccountDtRRef],
    [_AccountCtRRef],
	[_Fld1936RRef],
	[_Fld1937RRef],
	[_Fld1938RRef],
	[_Fld1939DtRRef],
	[_Fld1939CtRRef]
from [_AccRgCT1960]
group by
    [_AccountDtRRef],
    [_AccountCtRRef],
	[_Fld1936RRef],
	[_Fld1937RRef],
	[_Fld1938RRef],
	[_Fld1939DtRRef],
	[_Fld1939CtRRef]
having count(*) > 1" StatementType="SELECT" QueryHash="0xC61FE86595A33A9C" QueryPlanHash="0x5E775CFBEFD10B43">
          <StatementSetOptions ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" NUMERIC_ROUNDABORT="false" QUOTED_IDENTIFIER="true" />
          <QueryPlan DegreeOfParallelism="1" MemoryGrant="6768" CachedPlanSize="32" CompileTime="2" CompileCPU="2" CompileMemory="272">
            <RelOp AvgRowSize="123" EstimateCPU="0.0154411" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="1" LogicalOp="Filter" NodeId="0" Parallel="false" PhysicalOp="Filter" EstimatedTotalSubtreeCost="2.89028">
              <OutputList>
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                <ColumnReference Column="Expr1004" />
              </OutputList>
              <RunTimeInformation>
                <RunTimeCountersPerThread Thread="0" ActualRows="1457" ActualEndOfScans="1" ActualExecutions="1" />
              </RunTimeInformation>
              <Filter StartupExpression="false">
                <RelOp AvgRowSize="123" EstimateCPU="0.0353859" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Compute Scalar" NodeId="1" Parallel="false" PhysicalOp="Compute Scalar" EstimatedTotalSubtreeCost="2.87484">
                  <OutputList>
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                    <ColumnReference Column="Expr1004" />
                  </OutputList>
                  <ComputeScalar>
                    <DefinedValues>
                      <DefinedValue>
                        <ColumnReference Column="Expr1004" />
                        <ScalarOperator ScalarString="CONVERT_IMPLICIT(int,[Expr1007],0)">
                          <Convert DataType="int" Style="0" Implicit="true">
                            <ScalarOperator>
                              <Identifier>
                                <ColumnReference Column="Expr1007" />
                              </Identifier>
                            </ScalarOperator>
                          </Convert>
                        </ScalarOperator>
                      </DefinedValue>
                    </DefinedValues>
                    <RelOp AvgRowSize="123" EstimateCPU="0.0353859" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Aggregate" NodeId="2" Parallel="false" PhysicalOp="Stream Aggregate" EstimatedTotalSubtreeCost="2.87484">
                      <OutputList>
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                        <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                        <ColumnReference Column="Expr1007" />
                      </OutputList>
                      <RunTimeInformation>
                        <RunTimeCountersPerThread Thread="0" ActualRows="2134" ActualEndOfScans="1" ActualExecutions="1" />
                      </RunTimeInformation>
                      <StreamAggregate>
                        <DefinedValues>
                          <DefinedValue>
                            <ColumnReference Column="Expr1007" />
                            <ScalarOperator ScalarString="Count(*)">
                              <Aggregate AggType="countstar" Distinct="false" />
                            </ScalarOperator>
                          </DefinedValue>
                        </DefinedValues>
                        <GroupBy>
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                          <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                        </GroupBy>
                        <RelOp AvgRowSize="119" EstimateCPU="2.21101" EstimateIO="0.0112613" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Sort" NodeId="3" Parallel="false" PhysicalOp="Sort" EstimatedTotalSubtreeCost="2.83945">
                          <OutputList>
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                            <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                          </OutputList>
                          <MemoryFractions Input="1" Output="1" />
                          <RunTimeInformation>
                            <RunTimeCountersPerThread Thread="0" ActualRebinds="1" ActualRewinds="0" ActualRows="32170" ActualEndOfScans="1" ActualExecutions="1" />
                          </RunTimeInformation>
                          <Sort Distinct="false">
                            <OrderBy>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                              </OrderByColumn>
                              <OrderByColumn Ascending="true">
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                              </OrderByColumn>
                            </OrderBy>
                            <RelOp AvgRowSize="119" EstimateCPU="0.0355429" EstimateIO="0.581644" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="32169" LogicalOp="Index Scan" NodeId="4" Parallel="false" PhysicalOp="Index Scan" EstimatedTotalSubtreeCost="0.617186" TableCardinality="32169">
                              <OutputList>
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                                <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                              </OutputList>
                              <RunTimeInformation>
                                <RunTimeCountersPerThread Thread="0" ActualRows="32170" ActualEndOfScans="1" ActualExecutions="1" />
                              </RunTimeInformation>
                              <IndexScan Ordered="false" ForcedIndex="false" ForceSeek="false" NoExpandHint="false">
                                <DefinedValues>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountDtRRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_AccountCtRRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1936RRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1937RRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1938RRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939DtRRef" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Column="_Fld1939CtRRef" />
                                  </DefinedValue>
                                </DefinedValues>
                                <Object Database="[database]" Schema="[dbo]" Table="[_AccRgCT1960]" Index="[_AccTtl1960_ByDt_TRRRRRRR]" IndexKind="NonClustered" />
                              </IndexScan>
                            </RelOp>
                          </Sort>
                        </RelOp>
                      </StreamAggregate>
                    </RelOp>
                  </ComputeScalar>
                </RelOp>
                <Predicate>
                  <ScalarOperator ScalarString="[Expr1004]>(1)">
                    <Compare CompareOp="GT">
                      <ScalarOperator>
                        <Identifier>
                          <ColumnReference Column="Expr1004" />
                        </Identifier>
                      </ScalarOperator>
                      <ScalarOperator>
                        <Const ConstValue="(1)" />
                      </ScalarOperator>
                    </Compare>
                  </ScalarOperator>
                </Predicate>
              </Filter>
            </RelOp>
          </QueryPlan>
        </StmtSimple>
      </Statements>
    </Batch>
  </BatchSequence>
</ShowPlanXML>
Пользуйтесь оформлением, уважайте собеседников.
А план нужно было файликом прикрепить, а вот показать текстовый (а не графический).
2 авг 12, 02:14    [12949868]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
Mnior,

простите, наоборот думал что файлик отдельно сохранять нужно что неудобно а про подсветку xml не знал
2 авг 12, 09:47    [12950304]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
aux3,

Не совсем понятно, при чем тут индекс вообще, кроме того что данные берутся из него и не из таблицы или кластерного индекса. Вопрос, же в том, что после группировки, есть одинаковые группы. В таком случае, встречный вопрос, как вы проверяете одинаковость групп, т.е. строк после группировки? Достаточно различия в одном символе, например русская С и английская C, чтобы получились две разные группы, одинаковые на глаз.
2 авг 12, 10:11    [12950394]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
Ничего не понял - я не на глаз проверяю одинаковость - я описал процедуру группировки прямо в вопросе!
6 авг 12, 14:41    [12968380]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
aux3
Ничего не понял - я не на глаз проверяю одинаковость - я описал процедуру группировки прямо в вопросе!
Вам же ответили - у Вас нет уникального индекса.
Так что ничего не нарушается и ничего проверять не надо!
6 авг 12, 14:50    [12968456]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
aux3
Member

Откуда:
Сообщений: 316
я вначале исправил себя - так нужно читать:
(отправил запрос без unique ранее)

CREATE UNIQUE NONCLUSTERED INDEX [_AccTtl1960_ByDt_TRRRRRRR] ON [dbo].[_AccRgCT1960]
(
[_AccountDtRRef] ASC,
[_AccountCtRRef] ASC,
[_Fld1936RRef] ASC,
[_Fld1937RRef] ASC,
[_Fld1938RRef] ASC,
[_Fld1939DtRRef] ASC,
[_Fld1939CtRRef] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO

в нём сказано что индекс уникальный (простите за кашу)
6 авг 12, 17:34    [12969900]     Ответить | Цитировать Сообщить модератору
 Re: повторяющиеся значения в UNIQUE NONCLUSTERED INDEX  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
В общем, расклад следующий:
  • или вы сделали индекс в одной базе или на одном сервере уникальным, а данные смотрите в другой базе/на другом сервере, где он не уникальный;
  • или у вас битый индекс/база;
  • 6 авг 12, 17:38    [12969934]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить